Zobrazovanie kurzora

Systém automaticky zobrazí kurzor triedy (kurzor spojené s oknom, ku ktorému smeruje kurzor). Trieda kurzor môžete priradiť pri registrácii triedu okna. Nasledujúci príklad ilustruje to priradením kurzor popisovač hCursor členského WNDCLASS štruktúra identifikovaný parametrom wc.

WNDCL&ASS wc; 
 
/ / Vyplniť okno triedy štruktúry s parametrami, / / opisujú hlavné okno. 
 
WC.style = NULL;                        / / triedy style(s) wc.lpfnWndProc = MainWndProc (WNDPROC); / / okno postup wc.cbClsExtra = 0;           / / žiadne mimoriadne údaje wc.cbWndExtra za triedy ? 0,           / / no za okno mimoriadne údaje wc.hInstance = hinst;        / / aplikáciu, ktorá vlastní triedy wc.hIcon = LoadIcon (NULL, IDI_APPLICATION);     / / triedy ikonu wc.hCursor = LoadCursor (hinst, MAKEINTRESOURCE(230)); / / triedy kurzor wc.hbrBackground = GetStockObject(WHITE_BRUSH); / / Trieda pozadia wc.lpszMenuName = "GenericMenu";               / / triedy ponuky wc.lpszClassName = "GenericWClass" / / triedy meno / / Trieda okna sa nezaregistrovala. 
 
návrat RegisterClass(amp;wc) 
 

Po zaregistrovaní triedu okna kurzor identifikované 230 v súbore zdrojov vymedzenie žiadosťou bude predvolenú kurzor pre všetkých okien založený na triede.

Vašu žiadosť môžete zmeniť návrh kurzor pomocou funkcie SetCursor a špecifikuje rôzne kurzor rukoväť. Avšak keď kurzor pohybuje, systému prekresľuje triedy kurzor na nové umiestnenie. Chcete zabrániť triedy kurzor sa prekreslí, musí spracovať WM_SETCURSOR správy. Vždy, keď sa kurzor presunie a myš vstup nie je chytený, systém túto správu pošle na okno, v ktorom sa kurzor pohybuje.

Môžete zadať rôzne kurzory odlišné podmienky počas spracovania WM_SETCURSOR. Napríklad nasledujúci príklad ukazuje spôsob zobrazenia hCurs3 kurzor vždy, keď sa kurzor presunie nad ikonu minimalizovaného aplikácie.

prípad WM_SETCURSOR: / / Ak minimalizované okno čerpať hCurs3 kurzor. 
    / / Ak nie je minimalizované okno, nakresliť predvolené / / kurzor (trieda kurzor). 
 
    Ak (IsIconic(hwnd)) {SetCursor(hCurs3); 
        prerušiť; 
    } 
 

Ak nie je minimalizované okno, systém zobrazí kurzor triedy.

Trieda kurzor môžete nahradiť pomocou funkcie SetClassLong . Táto funkcia zmení predvolené okno Nastavenie pre všetky okná danej triedy. V nasledujúcom príklade nahradí existujúce triedy kurzor kurzor hCurs2.

/ / Zmena kurzor pre triedu okna zastúpení hwnd. 
 
SetClassLong (hwnd, / / okno zvládnuť GCL_HCURSOR, / / zmena kurzor (dlhou) hCurs2);   / / new kurzor 
 

Ďalšie informácie nájdete v časti Okna tried a Myš vstup.

Index