Nastavení prvního viditelného nódu v TreeView

Funkce:
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

Sub SetTreeViewFirstVisibleNode(ByVal TV As TreeView, ByVal Node As Node)

    Dim hItem As Long
    Dim selNode As Node
    
    Set selNode = TV.SelectedItem
    Set TV.SelectedItem = Node
    hItem = SendMessage(TV.hWnd, TVM_GETNEXTITEM, TVGN_CARET, ByVal 0&)
    Set TV.SelectedItem = selNode
    SendMessage TV.hWnd, TVM_SELECTITEM, TVGN_FIRSTVISIBLE, ByVal hItem

End Sub

Zpět

Autor: The Bozena