How do you tell whether a tree view node is expanded or not? I want to be able to know so that the folder icon shows a different icon if its open.
Tree View Nodes - Expanded?
BlitzPlus Forums/BlitzPlus Programming/Tree View Nodes - Expanded? Here's an example I had laying around:
; Example code: Is the selected TreeView node currently expanded? ; For Win95 & NT4, IE5 needs to be installed ; .lib "user32.dll" ; SendMessage%(hwnd%, wMsg%, wParam%, lParam%):"SendMessageA" Const TV_FIRST = $1100 Const TVM_GETNEXTITEM = TV_FIRST + 10 Const TVM_GETITEMSTATE = TV_FIRST + 39 Const TVIS_EXPANDED = $20 Const TVGN_CARET = $9 w = CreateWindow("TreeView isExpanded Example", 10, 10, 300, 300, 0, 9) tv = CreateTreeView(0, 0, ClientWidth(w), ClientHeight(w), w) tvRoot = AddTreeViewNode("Root", TreeViewRoot(tv)) tv1 = AddTreeViewNode("1", tvRoot) tv2 = AddTreeViewNode("2", tv1) tv3 = AddTreeViewNode("3", tv2) tv4 = AddTreeViewNode("4", tvRoot) Repeat Select WaitEvent() Case $803 End Case $401 Select EventSource() Case tv If isExpanded(tv) Then SetStatusText(w, "Expanded") Else SetStatusText(w, "Not Expanded") EndIf Default SetStatusText(w, "") End Select End Select Forever Function isExpanded(tv) selectedNodeHwnd% = SendMessage(QueryObject(tv,1), TVM_GETNEXTITEM, TVGN_CARET, 0) Return TVIS_EXPANDED And SendMessage(QueryObject(tv,1), TVM_GETITEMSTATE, selectedNodeHwnd, TVIS_EXPANDED) End Function
Thanks very much!