Dela via


WM_XBUTTONDOWN meddelande

Publiceras när användaren trycker på antingen XBUTTON1 eller XBUTTON2 medan markören finns i klientområdet i ett fönster. Om musen inte fångas upp skickas meddelandet till fönstret under markören. Annars skickas meddelandet till fönstret som har fångat musen.

Ett fönster tar emot det här meddelandet via funktionen WindowProc.

#define WM_XBUTTONDOWN                  0x020B

Parametrar

wParam

Lågordningsordet anger om olika virtuella nycklar är nere. Det kan vara ett eller flera av följande värden.

Värde Betydelse
MK_CONTROL
0x0008
CTRL-tangenten är nere.
MK_LBUTTON
0x0001
Vänster musknapp är nere.
MK_MBUTTON
0x0010
Den mellersta musknappen är nere.
MK_RBUTTON
0x0002
Höger musknapp är nere.
MK_SHIFT
0x0004
SKIFT-nyckeln är nere.
MK_XBUTTON1
0x0020
XBUTTON1 är nere.
MK_XBUTTON2
0x0040
XBUTTON2 är nere.

Högordningsordet anger vilken knapp som klickades. Det kan vara något av följande värden.

Värde Betydelse
XBUTTON1
0x0001
XBUTTON1 klickades.
XBUTTON2
0x0002
XBUTTON2 klickades.

lParam

Ordet låg ordning anger markörens x-koordinat. Koordinaten är relativ till det övre vänstra hörnet i klientområdet.

Ordet med hög ordning anger markörens y-koordinat. Koordinaten är relativ till det övre vänstra hörnet i klientområdet.

Returvärde

Om ett program bearbetar det här meddelandet bör det returnera TRUE-. Mer information om hur du bearbetar returvärdet finns i avsnittet Anmärkningar.

Anmärkningar

Windows stöder möss med upp till fem knappar: vänster, mitten och höger, plus två ytterligare knappar som kallas XBUTTON1 och XBUTTON2. Knapparna XBUTTON1 och XBUTTON2 finns ofta på sidorna av musen, nära basen. Dessa extra knappar finns inte på alla möss. Om de finns mappas knapparna XBUTTON1 och XBUTTON2 ofta till en programfunktion, till exempel framåt- och bakåtnavigering i en webbläsare.

Använd följande kod för att hämta informationen i parametern wParam:

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

Använd följande kod för att hämta den vågräta och lodräta positionen:

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

Som nämnts ovan är x-koordinaten i låg ordning kort av returvärdet. y-koordinaten är i hög ordning kort (båda representerar signerade värden eftersom de kan ta negativa värden på system med flera övervakare). Om returvärdet tilldelas till en variabel kan du använda MAKEPOINTS- makro för att hämta en POINTS- struktur från returvärdet. Du kan också använda makrot GET_X_LPARAM eller GET_Y_LPARAM för att extrahera x- eller y-koordinaten.

Viktig

Använd inte LOWORD- eller HIWORD- makron för att extrahera x- och y-koordinaterna för markörens position eftersom dessa makron returnerar felaktiga resultat på system med flera bildskärmar. System med flera bildskärmar kan ha negativa x- och y-koordinater och LOWORD- och HIWORD- behandla koordinaterna som osignerade kvantiteter.

Till skillnad från meddelandena WM_LBUTTONDOWN, WM_MBUTTONDOWNoch WM_RBUTTONDOWN bör ett program returnera TRUE- från det här meddelandet om det bearbetar det. På så sätt kan programvara som simulerar det här meddelandet i Windows-system tidigare än Windows 2000 avgöra om fönsterproceduren bearbetade meddelandet eller anropade DefWindowProc för att bearbeta det.

Krav

Krav Värde
Lägsta klient som stöds
Windows 2000 Professional [endast skrivbordsappar]
Lägsta server som stöds
Windows 2000 Server [endast skrivbordsappar]
Rubrik
Winuser.h (inkludera Windowsx.h)

Se även

referens

GET_KEYSTATE_WPARAM

GET_X_LPARAM

GET_XBUTTON_WPARAM

GET_Y_LPARAM

GetCapture

SetCapture

WM_XBUTTONDBLCLK

WM_XBUTTONUP

konceptuell

musindata

andra resurser

MAKEPOINTS-

PUNKTER