- Use hourglass cursor for better feedback when expanding nodes.
- Turn off redrawing when expanding to make it faster.
This commit is contained in:
parent
197b5e315f
commit
9c93c484c5
|
@ -249,6 +249,7 @@ BOOL OnTreeExpanding(HWND hwndTV, NMTREEVIEW* pnmtv)
|
|||
LPCTSTR keyPath;
|
||||
LPTSTR Name;
|
||||
LONG errCode;
|
||||
HCURSOR hcursorOld;
|
||||
|
||||
static int expanding;
|
||||
if (expanding) return FALSE;
|
||||
|
@ -256,6 +257,8 @@ BOOL OnTreeExpanding(HWND hwndTV, NMTREEVIEW* pnmtv)
|
|||
return TRUE;
|
||||
}
|
||||
expanding = TRUE;
|
||||
hcursorOld = SetCursor(LoadCursor(NULL, IDC_WAIT));
|
||||
SendMessage(hwndTV, WM_SETREDRAW, FALSE, 0);
|
||||
|
||||
keyPath = GetItemPath(hwndTV, pnmtv->itemNew.hItem, &hRoot);
|
||||
if (!keyPath) goto done;
|
||||
|
@ -291,6 +294,8 @@ BOOL OnTreeExpanding(HWND hwndTV, NMTREEVIEW* pnmtv)
|
|||
HeapFree(GetProcessHeap(), 0, Name);
|
||||
|
||||
done:
|
||||
SendMessage(hwndTV, WM_SETREDRAW, TRUE, 0);
|
||||
SetCursor(hcursorOld);
|
||||
expanding = FALSE;
|
||||
|
||||
return TRUE;
|
||||
|
|
Loading…
Reference in New Issue