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
Sub ClearTreeViewNodes(ByVal hwnd As Long) Dim hItem As Long SendMessageLong hwnd, WM_SETREDRAW, False, &O0
Do hItem = SendMessageLong(hwnd, TVM_GETNEXTITEM, TVGN_ROOT, 0) If hItem <= 0 Then Exit Do SendMessageLong hwnd, TVM_DELETEITEM, &O0, hItem Loop SendMessageLong hwnd, WM_SETREDRAW, True, &O0 End Sub |