WM_XBUTTONDOWN Nachricht
Wird veröffentlicht, wenn der Benutzer die erste oder zweite X-Schaltfläche drückt, während sich der Cursor im Clientbereich eines Fensters befindet. Wenn die Maus nicht erfasst wird, wird die Nachricht im Fenster unter dem Cursor gesendet. Andernfalls wird die Nachricht an das Fenster gesendet, das die Maus erfasst hat.
Ein Fenster empfängt diese Nachricht über seine WindowProc-Funktion .
#define WM_XBUTTONDOWN 0x020B
Parameter
-
wParam
-
Das Wort mit niedriger Reihenfolge gibt an, ob verschiedene virtuelle Schlüssel ausgefallen sind. Es kann sich um einen oder mehrere der folgenden Werte handeln.
Wert Bedeutung - MK_CONTROL
- 0x0008
Die STRG-TASTE ist ausgefallen. - MK_LBUTTON
- 0x0001
Die linke Maustaste ist nach unten. - MK_MBUTTON
- 0x0010
Die mittlere Maustaste ist aus. - MK_RBUTTON
- 0x0002
Die rechte Maustaste ist aus. - MK_SHIFT
- 0x0004
Die UMSCHALTTASTE ist ausgefallen. - MK_XBUTTON1
- 0x0020
Die erste X-Schaltfläche ist ausgefallen. - MK_XBUTTON2
- 0x0040
Die zweite X-Schaltfläche ist ausgefallen. Das Wort mit hoher Reihenfolge gibt an, auf welche Schaltfläche geklickt wurde. Dieses Argument einen der folgenden Werte annehmen.
Wert Bedeutung - XBUTTON1
- 0x0001
Auf die erste Schaltfläche X wurde geklickt. - XBUTTON2
- 0x0002
Auf die zweite Schaltfläche X wurde geklickt. -
lParam
-
Das Wort mit niedriger Ordnung gibt die x-Koordinate des Cursors an. Die Koordinate ist relativ zur oberen linken Ecke des Clientbereichs.
Das Wort mit hoher Ordnung gibt die y-Koordinate des Cursors an. Die Koordinate ist relativ zur oberen linken Ecke des Clientbereichs.
Rückgabewert
Wenn eine Anwendung diese Nachricht verarbeitet, sollte sie TRUE zurückgeben. Weitere Informationen zur Verarbeitung des Rückgabewerts finden Sie im Abschnitt Hinweise.
Bemerkungen
Verwenden Sie den folgenden Code, um die Informationen im wParam-Parameter abzurufen:
fwKeys = GET_KEYSTATE_WPARAM (wParam);
fwButton = GET_XBUTTON_WPARAM (wParam);
Verwenden Sie den folgenden Code, um die horizontale und vertikale Position abzurufen:
xPos = GET_X_LPARAM(lParam);
yPos = GET_Y_LPARAM(lParam);
Wie oben erwähnt, befindet sich die x-Koordinate in niedriger Reihenfolge unter dem Rückgabewert. Die y-Koordinate befindet sich in hoher Reihenfolge kurz (beide stellen signierte Werte dar, da sie negative Werte auf Systemen mit mehreren Monitoren annehmen können). Wenn der Rückgabewert einer Variablen zugewiesen ist, können Sie das MAKEPOINTS-Makro verwenden, um eine POINTS-Struktur aus dem Rückgabewert abzurufen. Sie können auch das GET_X_LPARAM - oder GET_Y_LPARAM Makro verwenden, um die x- oder y-Koordinate zu extrahieren.
Wichtig
Verwenden Sie die LOWORD - oder HIWORD-Makros nicht, um die x- und y-Koordinaten der Cursorposition zu extrahieren, da diese Makros auf Systemen mit mehreren Monitoren falsche Ergebnisse zurückgeben. Systeme mit mehreren Monitoren können negative x- und y-Koordinaten aufweisen, und LOWORD und HIWORD behandeln die Koordinaten als unsignierte Mengen.
Im Gegensatz zum WM_LBUTTONDOWN, WM_MBUTTONDOWN und WM_RBUTTONDOWN Nachrichten sollte eine Anwendung true aus dieser Nachricht zurückgeben, wenn sie sie verarbeitet. Dadurch kann Software, die diese Meldung auf Windows-Systemen vor Windows 2000 simuliert, bestimmen, ob die Fensterprozedur die Nachricht verarbeitet oder DefWindowProc zur Verarbeitung aufgerufen hat.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows 2000 Server [nur Desktop-Apps] |
Header |
|
Siehe auch
-
Referenz
-
Konzept
-
Andere Ressourcen