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.