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
|