- 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;
|
LPCTSTR keyPath;
|
||||||
LPTSTR Name;
|
LPTSTR Name;
|
||||||
LONG errCode;
|
LONG errCode;
|
||||||
|
HCURSOR hcursorOld;
|
||||||
|
|
||||||
static int expanding;
|
static int expanding;
|
||||||
if (expanding) return FALSE;
|
if (expanding) return FALSE;
|
||||||
|
@ -256,6 +257,8 @@ BOOL OnTreeExpanding(HWND hwndTV, NMTREEVIEW* pnmtv)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
expanding = TRUE;
|
expanding = TRUE;
|
||||||
|
hcursorOld = SetCursor(LoadCursor(NULL, IDC_WAIT));
|
||||||
|
SendMessage(hwndTV, WM_SETREDRAW, FALSE, 0);
|
||||||
|
|
||||||
keyPath = GetItemPath(hwndTV, pnmtv->itemNew.hItem, &hRoot);
|
keyPath = GetItemPath(hwndTV, pnmtv->itemNew.hItem, &hRoot);
|
||||||
if (!keyPath) goto done;
|
if (!keyPath) goto done;
|
||||||
|
@ -291,6 +294,8 @@ BOOL OnTreeExpanding(HWND hwndTV, NMTREEVIEW* pnmtv)
|
||||||
HeapFree(GetProcessHeap(), 0, Name);
|
HeapFree(GetProcessHeap(), 0, Name);
|
||||||
|
|
||||||
done:
|
done:
|
||||||
|
SendMessage(hwndTV, WM_SETREDRAW, TRUE, 0);
|
||||||
|
SetCursor(hcursorOld);
|
||||||
expanding = FALSE;
|
expanding = FALSE;
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
Loading…
Reference in New Issue