devxlogo

ClearTreeViewNodes – Quickly delete all the nodes in a TreeView controls

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 LongPrivate Const WM_SETREDRAW As Long = &HBPrivate Const TV_FIRST As Long = &H1100Private 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 parameterSub 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    Do        hItem = SendMessageLong(hwnd, TVM_GETNEXTITEM, TVGN_ROOT, 0)        If hItem ' unlock the window    SendMessageLong hwnd, WM_SETREDRAW, True, &O0End Sub

devx-admin

Share the Post: