Wyświetlanie kursor

System automatycznie wyświetla kursor klasy (kursor skojarzone z okna wskazuje kursor). Kursor klasy można przypisać podczas rejestrowania klasy okna. Poniższy przykład ilustruje to przypisując uchwyt kursor do członka hCursor struktury WNDCLASS określone przez parametr wc.

WNDCL&ASS wc; 
 
/ / Wypełnić okno Struktura klas z parametrami, / / opisują główne okno. 
 
WC.style = NULL;                        / / klasy style(s) wc.lpfnWndProc = MainWndProc (WNDPROC); / / Okno procedury wc.cbClsExtra = 0;           / / nie wc.cbWndExtra dodatkowe dane klasy = 0;           / / nie na okno dodatkowe dane wc.hInstance = hinst;        / / aplikacji, która jest właścicielem wc.hIcon klasy = LoadIcon (NULL, IDI_APPLICATION);     / / klasy ikonę wc.hCursor = LoadCursor (hinst, MAKEINTRESOURCE(230)); / / klasy kursora wc.hbrBackground = GetStockObject(WHITE_BRUSH); / / klasy tła wc.lpszMenuName = "GenericMenu";               / / klasy menu wc.lpszClassName = "GenericWClass" / / klasy nazwa / / Register klasy okna. 
 
Powrót RegisterClass(amp;wc) 

 

Po zarejestrowaniu klasy okno kursor zidentyfikowane przez 230 w pliku definicji zasobów aplikacji będzie kursor domyślny dla wszystkich okien oparty na klasie.

Aplikację można zmienić projekt kursor przy użyciu funkcji SetCursor i określając uchwyt różnych kursora. Jednakże gdy kursor będzie przesuwany, system odrysowania kursor klasy w nowej lokalizacji. Aby uniemożliwić kursor klasy są rysowane, musi przetworzyć wiadomość WM_SETCURSOR . Każdym razem, gdy kursor będzie przesuwany i myszy nie jest przechwycona, system wysyła tę wiadomość, aby oknie, w którym porusza się kursor.

Różnych kursorów dla różnych warunkach można określić podczas przetwarzania WM_SETCURSOR. Na przykład poniższy przykład ilustruje sposób wyświetlania kursora hCurs3 , gdy kursor będzie przesuwany nad ikoną zminimalizowanych aplikacji.

sprawa WM_SETCURSOR: / / Jeżeli okno jest zminimalizowane, rysowania kursor hCurs3. 
    / / Jeśli okno nie jest zminimalizowane, narysuj domyślnie / / kursor (klasa kursor). 
 
    Jeżeli (IsIconic(hwnd)) {SetCursor(hCurs3); 
        podział; 
    } 

 

Jeśli okno nie jest zminimalizowane, system wyświetla kursor klasy.

Kursor klasy można zastąpić za pomocą funkcji SetClassLong . Funkcja ta zmienia domyślne ustawienia okna dla wszystkich okien danej klasy. Poniższy przykład zamienia istniejące kursor klasy kursora hCurs2.

/ / Change kursor dla klasy okna reprezentowane przez hwnd. 
 
SetClassLong (hwnd, / / okno obsługi GCL_HCURSOR, / / change kursor (DŁUGA) hCurs2);   / / Nowy kursor 

 

Aby uzyskać więcej informacji zobacz Klasy okien i Sygnału wejściowego myszy.

Index