Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: VB5,VB6
Expertise: Intermediate
Apr 28, 2001



Building the Right Environment to Support AI, Machine Learning and Deep Learning

ClearTreeViewNodes - Quickly delete all the nodes in a TreeView controls

Private Declare Function SendMessageLong Lib "user32" Alias "SendMessageA" _
    (ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, _
    ByVal lParam As Long) As Long
Private Const WM_SETREDRAW As Long = &HB
Private Const TV_FIRST As Long = &H1100
Private Const TVM_GETNEXTITEM As Long = (TV_FIRST + 10)
Private Const TVM_DELETEITEM As Long = (TV_FIRST + 1)
Private Const TVGN_ROOT As Long = &H0

' Quicky clear the treeview identified by the hWnd parameter
Sub ClearTreeViewNodes(ByVal hwnd As Long)
    Dim hItem As Long
    ' lock the window update to avoid flickering
    SendMessageLong hwnd, WM_SETREDRAW, False, &O0

    ' clear the treeview
        hItem = SendMessageLong(hwnd, TVM_GETNEXTITEM, TVGN_ROOT, 0)
        If hItem <= 0 Then Exit Do
        SendMessageLong hwnd, TVM_DELETEITEM, &O0, hItem
    ' unlock the window
    SendMessageLong hwnd, WM_SETREDRAW, True, &O0
End Sub
Marco Bellinaso
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date