Anzeigen eines Cursors

Das System zeigt automatisch den Klasse Cursor (Cursor auf das der Cursor zeigt Fenster zugeordnet). Einen Klasse-Cursor können Sie bei der Registrierung einer Fensterklasse. Das folgende Beispiel veranschaulicht dies durch Zuweisen eines Cursor-Handles an das hCursor Mitglied einer WNDCLASS Struktur durch den wc -parameter.

WNDCL&ASS wc; 
 
/ / Füllen die Window-Klasse-Struktur mit Parametern, / / das Hauptfenster zu beschreiben. 
 
WC.Style = NULL;                        / / Klasse Stil(e) wc.lpfnWndProc = (WNDPROC) MainWndProc; / / Fenster Verfahren wc.cbClsExtra = 0;           / / kein pro-Klasse zusätzliche Daten wc.cbWndExtra = 0;           / / kein pro-Fenster zusätzliche Daten wc.hInstance = Hinst;        / / Anwendung, die die Klasse wc.hIcon besitzt = LoadIcon (NULL, IDI_APPLICATION);     / / Klasse Symbol wc.hCursor = LoadCursor (Hinst, MAKEINTRESOURCE(230)); / / Cursor wc.hbrBackground class = GetStockObject(WHITE_BRUSH); / / Hintergrund wc.lpszMenuName class = "GenericMenu";               / / class Menü wc.lpszClassName = "GenericWClass" / / Klasse Name / / Fensterklasse registrieren. 
 
zurück RegisterClass(amp;wc) 

 

Wenn die Fensterklasse registriert ist, werden der Cursor von 230 in der Anwendung Ressource-Datei identifiziert den Standardcursor für alle Windows basierend auf der Klasse.

Ihre Anwendung kann den Entwurf des Cursors ändern, indem die SetCursor -Funktion und einen anderen Cursor-Handle. Jedoch, wenn der Cursor bewegt, zeichnet das System den Klasse Cursor am neuen Standort. Um zu verhindern, dass den Klasse Cursor neu gezeichnet wird, müssen Sie die WM_SETCURSOR -Nachricht verarbeiten. Nicht jedes Mal, wenn der Cursor bewegt und Mauseingaben erfasst, das System sendet diese Nachricht an das Fenster, in dem der Cursor bewegt wird.

Sie können verschiedene Cursor für verschiedene Bedingungen während der Verarbeitung WM_SETCURSOR angeben. Z. B. im folgenden Beispiel wird veranschaulicht, wie den hCurs3 -Cursor angezeigt wird, wenn der Cursor über das Symbol einer minimierten Anwendung bewegt.

fall WM_SETCURSOR: / / Wenn das Fenster minimiert ist, ziehen den Cursor hCurs3. 
    / / Wenn das Fenster nicht minimiert wird, zeichnen die Standard / / Cursor (Cursor Klasse). 
 
    Wenn (IsIconic(hwnd)) {SetCursor(hCurs3); 
        brechen; 
    } 

 

Wenn das Fenster nicht minimiert wird, zeigt das System den Cursor Klasse.

Sie können einen Cursor Klasse ersetzen, mithilfe der Funktion SetClassLong . Diese Funktion ändert die Standard-Einstellungen für alle Fenster einer bestimmten Klasse. Das folgende Beispiel ersetzt den vorhandenen Klasse Cursor mit dem Cursor hCurs2.

/ / Ändern den Cursor für die Window-Klasse vertreten durch Hwnd. 
 
SetClassLong (Hwnd, / / Fenster handle GCL_HCURSOR, / / Änderung der Cursor (lange) hCurs2);   / / neue Cursor 

 

Weitere Informationen finden Sie unter Fensterklassen und Mauseingaben.

Index