Een Cursor weergeven

Het systeem wordt automatisch de klasse cursor (de cursor gekoppeld aan het venster waarnaar de cursor wijst) weergegeven. U kunt een klasse cursor tijdens het registreren van een venster klasse toewijzen. In het volgende voorbeeld illustreert dit door een cursor handvat toewijzen aan het lid hCursor van de structuur van de WNDCLASS de parameter wc.

WNDCL&ASS wc; 
 
/ / De klassenstructuur venster vullen met parameters die / / beschrijven van het belangrijkste venster. 
 
WC.style = NULL;                        / / klasse style(s) wc.lpfnWndProc = MainWndProc (WNDPROC); / / venster procedure wc.cbClsExtra = 0;           / / geen per-klasse extra gegevens wc.cbWndExtra = 0;           / / geen per-venster extra gegevens wc.hInstance = hinst;        / / toepassing die eigenaar is van de klasse wc.hIcon = LoadIcon (NULL, IDI_APPLICATION);     / / klasse pictogram wc.hCursor = LoadCursor (hinst, MAKEINTRESOURCE(230)); / / klasse cursor wc.hbrBackground = GetStockObject(WHITE_BRUSH); / / klasse achtergrond wc.lpszMenuName = "GenericMenu";               / / klasse menu wc.lpszClassName = "GenericWClass" / / klasse naam / / de klasse venster registreren. 
 
RegisterClass(amp;wc) retourneren 
 

Wanneer de klasse venster wordt geregistreerd, zal de cursor ge´dentificeerd door 230 in resource-definitie bestand van de toepassing de standaardcursor voor alle windows gebaseerd op de klasse worden.

Uw toepassing kan het ontwerp van de cursor wijzigen door met behulp van de functie SetCursor en een verschillende cursor handvat te geven. Echter, wanneer de cursor beweegt, het systeem hertekent de klasse cursor op de nieuwe locatie. Om te voorkomen dat de klasse cursor wordt opnieuw getekend, moet u het bericht WM_SETCURSOR verwerken. Elke tijd wordt de cursor verplaatst en muisinvoer niet is vastgelegd, het systeem verzendt dit bericht naar het venster waarin de cursor bewegende is.

U kunt verschillende cursors voor verschillende voorwaarden opgeven tijdens de verwerking van WM_SETCURSOR. Bijvoorbeeld, het volgende voorbeeld ziet u hoe de hCurs3 cursor weergegeven wanneer de cursor op het pictogram van een geminimaliseerde toepassing.

case WM_SETCURSOR: / / als het venster is geminimaliseerd, trekken de cursor hCurs3. 
    / / Als het venster niet geminimaliseerd, tekent u de standaard / / cursor (klasse cursor). 
 
    Als (IsIconic(hwnd)) {SetCursor(hCurs3); 
        breken; 
    } 
 

Wanneer het venster niet geminimaliseerd, geeft het systeem weer in de klasse cursor.

U kunt een klasse cursor vervangen door de SetClassLong functie. Deze functie wijzigt de standaardinstellingen van het venster voor alle vensters van een bepaalde klasse. In het volgende voorbeeld vervangt de bestaande klasse cursor met de cursor hCurs2.

/ / De cursor voor venster klasse vertegenwoordigd door hwnd wijzigen. 
 
SetClassLong (hwnd, / / vensteringang GCL_HCURSOR, / / wijzigen cursor (lange) hCurs2);   / / nieuwe cursor 
 

Voor meer informatie, Zie Venster klassen en Muis Input.

Index