Freigeben über


Meldung WM_XBUTTONDBLCLK

Diese Meldung wird gesendet, wenn Benutzer auf die erste oder zweite X-Schaltfläche doppelklicken, während sich der Cursor im Clientbereich eines Fensters befindet. Wenn die Maus nicht erfasst wird, wird die Nachricht an das Fenster unter dem Cursor übermittelt. Andernfalls wird die Nachricht an das Fenster gesendet, in dem die Maus erfasst wurde.

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

#define WM_XBUTTONDBLCLK                0x020D

Parameter

wParam

Das niederwertige Wort gibt an, ob verschiedene virtuelle Tasten gedrückt sind. Er kann einen der folgenden Werte annehmen.

Wert Bedeutung
MK_CONTROL
0x0008
Die STRG-TASTE ist gedrückt.
MK_LBUTTON
0x0001
Die linke Maustaste ist gedrückt.
MK_MBUTTON
0x0010
Die mittlere Maustaste ist gedrückt.
MK_RBUTTON
0x0002
Die rechte Maustaste ist gedrückt.
MK_SHIFT
0x0004
Die UMSCHALTTASTE ist gedrückt.
MK_XBUTTON1
0x0020
Die erste X-Taste ist ausgefallen.
MK_XBUTTON2
0x0040
Die zweite X-Taste ist ausgefallen.

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

Wert Bedeutung
XBUTTON1
0x0001
Auf die erste X-Taste wurde doppelt geklickt.
XBUTTON2
0x0002
Auf die zweite X-Schaltfläche wurde doppelt geklickt.

lParam

Das niederwertige Wort gibt die X-Koordinate des Cursors an. Die Koordinate ist relativ zur oberen linken Ecke des Clientbereichs.

Das höherwertige Wort gibt die Y-Koordinate des Cursors an. Die Koordinate ist relativ zur oberen linken Ecke des Clientbereichs.

Rückgabewert

Wenn eine Anwendung diese Meldung verarbeitet, sollte TRUE zurückgegeben werden. Weitere Informationen zur Verarbeitung des Rückgabewerts finden Sie im Abschnitt „Bemerkungen“.

Hinweise

Verwenden Sie den folgenden Code, um die Informationen im Parameter wParam 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 zuvor erwähnt, liegt die X-Koordinate im niedrigerwertigen short-Element des Rückgabewerts, die Y-Koordinate im höherwertigen short-Element (beide stellen Werte mit Vorzeichen Werte dar, da sie auf Systemen mit mehreren Monitoren negative Werte annehmen können). Wenn der Rückgabewert einer Variablen zugewiesen ist, können Sie das Makro MAKEPOINTS verwenden, um eine Struktur POINTS aus dem Rückgabewert abzurufen. Sie können das Makro GET_X_LPARAM oder GET_Y_LPARAM auch verwenden, um die X- bzw. Y-Koordinate zu extrahieren.

Wichtig

Verwenden Sie nicht die LOWORD- oder HIWORD-Makros, um die X- und Y-Koordinaten der Cursorposition zu extrahieren. Diese Makros geben auf Systemen mit mehreren Monitoren falsche Ergebnisse zurück. Systeme mit mehreren Monitoren können negative X- und Y-Koordinaten aufweisen, und LOWORD und HIWORD behandeln die Koordinaten als Mengen ohne Vorzeichen.

Nur Fenster mit dem Stil CS_DBLCLKS können Meldungen WM_XBUTTONDBLCLK empfangen, die das System generiert, wenn der Benutzer innerhalb des Zeitlimits für Doppelklick eine X-Schaltfläche drückt, loslässt und erneut drückt. Durch Doppelklicken auf eine dieser Schaltflächen werden sogar vier Meldungen generiert: WM_XBUTTONDOWN, WM_XBUTTONUP, WM_XBUTTONDBLCLK und noch einmal WM_XBUTTONUP.

Im Gegensatz zu Meldungen WM_LBUTTONDBLCLK, WM_MBUTTONDBLCLK und WM_RBUTTONDBLCLK sollte eine Anwendung aus dieser Meldung TRUE zurückgeben, wenn sie diese verarbeitet. Dadurch kann Software, die diese Nachricht auf Windows-Systemen vor Windows 2000 simuliert, bestimmen, ob die Fensterprozedur die Nachricht verarbeitet oder DefWindowProc für die 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
Winuser.h (einschließlich Windowsx.h)

Siehe auch

Referenz

DefWindowProc

GET_KEYSTATE_WPARAM

GET_X_LPARAM

GET_XBUTTON_WPARAM

GET_Y_LPARAM

GetCapture

GetDoubleClickTime

SetDoubleClickTime

WM_XBUTTONDOWN

WM_XBUTTONUP

Konzept

Mauseingabe

Weitere Ressourcen

MAKEPOINTS

POINTS