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 |
|
Se även
-
referens
-
konceptuell
-
andra resurser