WM- _ xbuttondown-Meldung

Wird gesendet, wenn der Benutzer die erste oder zweite X-Schaltfläche drückt, während sich der Cursor im Client Bereich eines Fensters befindet. Wenn die Maus nicht erfasst wird, wird die Nachricht im Fenster unterhalb des Cursors gepostet. Andernfalls wird die Nachricht an das Fenster gesendet, das die Maus erfasst hat.

Ein Fenster empfängt diese Meldung über seine WindowProc -Funktion.

#define WM_XBUTTONDOWN                  0x020B

Parameter

wParam

Das nieder wertige Wort gibt an, ob verschiedene virtuelle Schlüssel ausfallen. Es kann sich um einen oder mehrere der folgenden Werte handeln:

Wert Bedeutung
MK _ Steuer
Element
0x0008
Die STRG-Taste ist nicht gedrückt.
MK _ Lbutton
0x0001
Die linke Maustaste ist nicht mehr vorhanden.
MK _ MButton
0x0010
Die mittlere Maustaste ist nicht mehr angezeigt.
MK _ Rbutton
0x0002
Die Rechte Maustaste ist nicht mehr angezeigt.
MK _ UMSCHALT
0x0004
Die UMSCHALTTASTE ist nicht mehr festgelegt.
MK _ XButton1
0x0020
Die erste X-Schaltfläche ist nicht angezeigt.
MK _ XButton2
0x0040
Die zweite X-Schaltfläche ist nicht mehr festgelegt.

Das höchst wertige Wort gibt an, auf welche Schaltfläche geklickt wurde. Dieses Argument einen der folgenden Werte annehmen.

Wert Bedeutung
XButton1
0x0001
Es wurde auf die erste X-Schaltfläche geklickt.
XButton2
0x0002
Es wurde auf die zweite X-Schaltfläche geklickt.

lParam

Das nieder wertige Wort gibt die x-Koordinate des Cursors an. Die Koordinate ist relativ zur oberen linken Ecke des Client Bereichs.

Das höchst wertige Wort gibt die y-Koordinate des Cursors an. Die Koordinate ist relativ zur oberen linken Ecke des Client Bereichs.

Rückgabewert

Wenn eine Anwendung diese Nachricht verarbeitet, sollte Sie " true" zurückgeben. Weitere Informationen zum Verarbeiten des Rückgabewerts finden Sie im Abschnitt "Hinweise".

Bemerkungen

Verwenden Sie den folgenden Code, um die Informationen im wParam -Parameter zu erhalten:

fwKeys = GET_KEYSTATE_WPARAM (wParam); 
fwButton = GET_XBUTTON_WPARAM (wParam);

Verwenden Sie den folgenden Code zum Abrufen der horizontalen und vertikalen Position:

xPos = GET_X_LPARAM(lParam); 
yPos = GET_Y_LPARAM(lParam); 

Wie bereits erwähnt, befindet sich die x-Koordinate in der unteren Reihenfolge des Rückgabewerts. die y-Koordinate befindet sich in der hohen Reihenfolge ( kurz ) (beide stellen signierte Werte dar, da Sie negative Werte für Systeme mit mehreren Monitoren annehmen können). Wenn der Rückgabewert einer Variablen zugewiesen ist, können Sie mit dem makepoints -Makro eine Points -Struktur aus dem Rückgabewert abrufen. 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 falsche Ergebnisse für Systeme mit mehreren Monitoren zurückgeben. Systeme mit mehreren Monitoren können über negative x-und y-Koordinaten verfügen, und LoWord und HIWORD behandeln die Koordinaten als nicht signierte Mengen.

Anders als die Nachrichten WM _ lbuttondown, WM _ mbuttondownund WM _ rbuttondown , sollte eine Anwendung bei der Verarbeitung von dieser Nachricht true zurückgeben. Auf diese Weise kann Software, die diese Meldung auf Windows-Systemen vor Windows 2000 simuliert, feststellen, ob die Fenster Prozedur die Nachricht verarbeitet oder defwindowproc aufgerufen hat, um Sie zu verarbeiten.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows 2000 Server [nur Desktop-Apps]
Header
Winuser. h (Include WINDOWSX. h)

Siehe auch

Verweis

_KeyState- _ wParam-Element

GET _ X _ LPARAM

_XButton- _ wParam

_Y- _ LPARAM

GetCapture

SetCapture

WM- _ xbuttondblclk

WM- _ xbuttonup

Licher

Mauseingabe

Andere Ressourcen

Makepoints

Punkt