Vise en markør

Systemet viser automatisk klassen markøren (markøren knyttet til vinduet som peker markøren). Du kan tilordne en klasse markøren under registrering av vindusklasse en. Eksemplet nedenfor illustrerer dette ved å tilordne en markørreferanse til hCursor medlem av WNDCLASS -strukturen som er identifisert av parameteren wc.

WNDCL&ASS wc; 
 
/ / Fyller vinduet klassestrukturen med parametere som / / beskrive hovedvinduet. 
 
WC.style = NULL;                        / / klasse style(s) wc.lpfnWndProc = (WNDPROC) MainWndProc; / / vinduet prosedyren wc.cbClsExtra = 0;           / / nei ekstra data wc.cbWndExtra per klasse = 0;           / / Ingen per-vinduet tilleggsdata som wc.hInstance = hinst;        / / program som eier klasse-wc.hIcon = LoadIcon (NULL, IDI_APPLICATION);     / / klasse ikonet wc.hCursor = LoadCursor (hinst, MAKEINTRESOURCE(230)); / / klasse markøren wc.hbrBackground = GetStockObject(WHITE_BRUSH); / / klasse bakgrunn wc.lpszMenuName = "GenericMenu";               / / klasse menyen wc.lpszClassName = "GenericWClass" / / klasse navn / / Registrer Vindusklassen. 
 
gå tilbake til RegisterClass(amp;wc) 

 

Når Vindusklassen er registrert, blir markøren identifisert av 230 i programmets ressurs-definisjonsfil standardmarkør for alle Vinduer basert på klassen.

Programmet kan endre utformingen av markøren ved hjelp av SetCursor -funksjonen og angi en annen markørreferanse. Tegner imidlertid når markøren flyttes, systemet over klasse-markøren på den nye plasseringen. For å hindre at klassen markøren blir trukket tilbake, må du behandle meldingen WM_SETCURSOR . Hver gang, flyttes markøren og mus input er ikke tatt, systemet sender denne meldingen til vinduet der markøren er bevegelige.

Du kan angi forskjellige pekere for ulike forhold under behandling av WM_SETCURSOR. Eksemplet nedenfor viser for eksempel hvordan du viser hCurs3 markøren når markøren beveger seg over ikonet til en minimert program.

case WM_SETCURSOR: / / Hvis vinduet er minimert, kan du tegne hCurs3 markøren. 
    / / Hvis vinduet ikke er minimert, kan du tegne standard / / markøren (klasse markøren). 
 
    Hvis (IsIconic(hwnd)) {SetCursor(hCurs3); 
        Break; 
    } 

 

Når vinduet ikke er minimert, vises markøren klasse.

Du kan erstatte en klasse markøren ved hjelp av funksjonen SetClassLong . Denne funksjonen endrer vinduet standardinnstillingene for alle windows fra en gitt klasse. Eksemplet nedenfor erstatter eksisterende klasse markøren med markøren hCurs2.

/ / Endre markøren for vindusklasse representert ved hwnd. 
 
SetClassLong (hwnd, / / vinduet håndtere GCL_HCURSOR, / / endre markøren (lang) hCurs2);   / / new markøren 

 

Hvis du vil ha mer informasjon, se Vindusklasser og Mus Input.

Index