devxlogo

GetTreeViewFirstVisibleNode – Retrieve the first visible node in a TreeView

GetTreeViewFirstVisibleNode – Retrieve the first visible node in a TreeView

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal _    hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _    lParam As Any) As LongPrivate Const TV_FIRST = &H1100Private Const TVM_GETNEXTITEM = (TV_FIRST + 10)Private Const TVM_SELECTITEM = (TV_FIRST + 11)Private Const TVGN_CARET = 9Private Const TVGN_FIRSTVISIBLE = &H5' Return the first visible node of a TreeViewFunction GetTreeViewFirstVisibleNode(ByVal TV As TreeView) As Node    Dim hItem As Long    Dim selNode As Node        ' remember the node currently selected    Set selNode = TV.SelectedItem    ' get the handle of the first visible Node    hItem = SendMessage(TV.hWnd, TVM_GETNEXTITEM, TVGN_FIRSTVISIBLE, ByVal 0&)    ' make it the selected Node    SendMessage TV.hWnd, TVM_SELECTITEM, TVGN_CARET, ByVal hItem    ' return the result as a Node object    Set GetTreeViewFirstVisibleNode = TV.SelectedItem    ' restore node that was selected    Set TV.SelectedItem = selNode    End Function

See also  Professionalism Starts in Your Inbox: Keys to Presenting Your Best Self in Email
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist