Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
55
Task/Visualize-a-tree/BBC-BASIC/visualize-a-tree.basic
Normal file
55
Task/Visualize-a-tree/BBC-BASIC/visualize-a-tree.basic
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
INSTALL @lib$+"WINLIB5"
|
||||
ON ERROR SYS "MessageBox", @hwnd%, REPORT$, 0, 0 : QUIT
|
||||
|
||||
REM!WC Windows constants:
|
||||
TVI_SORT = -65533
|
||||
TVIF_TEXT = 1
|
||||
TVM_INSERTITEM = 4352
|
||||
TVS_HASBUTTONS = 1
|
||||
TVS_HASLINES = 2
|
||||
TVS_LINESATROOT = 4
|
||||
|
||||
REM. TV_INSERTSTRUCT
|
||||
DIM tvi{hParent%, \
|
||||
\ hInsertAfter%, \
|
||||
\ mask%, \
|
||||
\ hItem%, \
|
||||
\ state%, \
|
||||
\ stateMask%, \
|
||||
\ pszText%, \
|
||||
\ cchTextMax%, \
|
||||
\ iImage%, \
|
||||
\ iSelectedImage%,\
|
||||
\ cChildren%, \
|
||||
\ lParam% \
|
||||
\ }
|
||||
|
||||
SYS "InitCommonControls"
|
||||
hTree% = FN_createwindow("SysTreeView32", "", 0, 0, @vdu.tr%, @vdu.tb%, 0, \
|
||||
\ TVS_HASLINES OR TVS_HASBUTTONS OR TVS_LINESATROOT, 0)
|
||||
hroot% = FNinsertnode(0, "Root")
|
||||
hchild1% = FNinsertnode(hroot%, "Child 1")
|
||||
hchild2% = FNinsertnode(hroot%, "Child 2")
|
||||
hchild11% = FNinsertnode(hchild1%, "Grandchild 1")
|
||||
hchild12% = FNinsertnode(hchild1%, "Grandchild 2")
|
||||
hchild21% = FNinsertnode(hchild2%, "Grandchild 3")
|
||||
hchild22% = FNinsertnode(hchild2%, "Grandchild 4")
|
||||
|
||||
REPEAT
|
||||
WAIT 1
|
||||
UNTIL FALSE
|
||||
END
|
||||
|
||||
DEF FNinsertnode(hparent%, text$)
|
||||
LOCAL hnode%
|
||||
text$ += CHR$0
|
||||
|
||||
tvi.hParent% = hparent%
|
||||
tvi.hInsertAfter% = TVI_SORT
|
||||
tvi.mask% = TVIF_TEXT
|
||||
tvi.pszText% = !^text$
|
||||
|
||||
SYS "SendMessage", hTree%, TVM_INSERTITEM, 0, tvi{} TO hnode%
|
||||
IF hnode% = 0 ERROR 100, "TVM_INSERTITEM failed"
|
||||
SYS "InvalidateRect", hTree%, 0, 0
|
||||
= hnode%
|
||||
Loading…
Add table
Add a link
Reference in a new issue