- Use hourglass cursor for better feedback when expanding nodes.

- Turn off redrawing when expanding to make it faster.
This commit is contained in:
Robert Shearman 2004-06-14 19:34:58 +00:00 committed by Alexandre Julliard
parent 197b5e315f
commit 9c93c484c5
1 changed files with 5 additions and 0 deletions

View File

@ -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;