SetTreNode




Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal _
hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
lParam As Any) As Long
Private Const TV_FIRST = &H1100
Private Const TVM_GETNEXTITEM = (TV_FIRST + 10)
Private Const TVM_SELECTITEM = (TV_FIRST + 11)
Private Const TVGN_CARET = 9
Private Const TVGN_FIRSTVISIBLE = &H5
' set the first visible Node of a TreeView control

Sub SetTreeViewFirstVisibleNode(ByVal TV As TreeView, ByVal Node As Node)
Dim hItem As Long
Dim selNode As Node

' remember the node currently selected

Set selNode = TV.SelectedItem
' make the Node the select Node in the control

Set TV.SelectedItem = Node
' now we can get its handle

hItem = SendMessage(TV.hWnd, TVM_GETNEXTITEM, TVGN_CARET, ByVal 0&)
' restore node that was selected

Set TV.SelectedItem = selNode
' make it the fist visible Node

SendMessage TV.hWnd, TVM_SELECTITEM, TVGN_FIRSTVISIBLE, ByVal hItem
End Sub












( settrenode.html )- by Paolo Puglisi - Modifica del 17/12/2023