Відображення курсор

Система автоматично відображає клас курсор (курсор, пов'язаних з вікна, на які вказує курсор). Ви можете призначити клас курсор при реєстрації клас вікна. Наступний приклад ілюструє це шляхом призначення дескриптор курсору на WNDCLASS структури, визначені параметр туалет , член hCursor.

WNDCL&ASS туалет; 
 
/ / Заповнити структури клас вікно з параметрами що / / описати головного вікна. 
 
WC.Style = NULL;                        / / клас style(s) wc.lpfnWndProc = MainWndProc (WNDPROC); / / вікно процедури wc.cbClsExtra = 0;           / / немає додаткових даних wc.cbWndExtra за клас = 0;           / / не за вікно додаткових даних wc.hInstance = hinst;        / / застосунку, якому належать класу wc.hIcon = LoadIcon (NULL, IDI_APPLICATION);     / / клас значок wc.hCursor = LoadCursor (hinst, MAKEINTRESOURCE(230)); / / клас курсор wc.hbrBackground = GetStockObject(WHITE_BRUSH); / / клас фон wc.lpszMenuName = "GenericMenu";               / / клас меню wc.lpszClassName = "GenericWClass" / / клас ім'я / / Реєстрація клас вікна. 
 
повернення RegisterClass(amp;wc) 

 

Коли клас вікна зареєстрований, курсор, визначені 230 в файл ресурсів визначення програми буде курсор за промовчанням для всіх вікон на основі класу.

Заявку можна змінити дизайн курсор за допомогою функції SetCursor та вказавши різні курсора ручку. Однак, коли курсор переміщується, система Перемальовує клас курсор на нове місце. Щоб курсор клас час Перемальовує, необхідно обробляти повідомлення WM_SETCURSOR . Кожен раз, курсор переміститься і ввід за допомогою миші не захопили, система надішле повідомлення до вікна, в яких йде курсор.

Під час обробки WM_SETCURSOR можна вказати різні курсори для різних умов. Наприклад, нижченаведений приклад показує, як відображати курсор hCurs3 кожного разу, коли курсор переміщується на піктограму згорнуте застосування.

справа WM_SETCURSOR: / / Якщо вікно згорнуто, намалювати hCurs3 курсор. 
    / / Якщо не вікно згорнуто, намалювати за замовчуванням / / курсор (клас курсор). 
 
    Якщо (IsIconic(hwnd)) {SetCursor(hCurs3); 
        перерви; 
    } 

 

Не згорнуте вікно, система містить курсор клас.

Ви можете замінити клас курсор за допомогою SetClassLong функції. Ця функція перетворює вікно Настройки за промовчанням для всіх вікон даного класу. Нижче наведено приклад замінює існуючого класу курсор курсор hCurs2.

/ / Змінити курсор для клас вікна на hwnd. 
 
SetClassLong (hwnd, / / вікна, ручка GCL_HCURSOR, / / змінити курсор hCurs2 (LONG));   / / нові курсору 

 

Докладніше перегляньте Класи вікон і Миші вводу.

Index