Sdílet prostřednictvím


WM_XBUTTONDOWN zpráva

Publikováno, když uživatel stiskne XBUTTON1 nebo XBUTTON2, zatímco kurzor je v klientské oblasti okna. Pokud se myš nezachytí, zpráva se odešle do okna pod kurzorem. V opačném případě se zpráva publikuje do okna, které zachytilo myš.

Okno obdrží tuto zprávu prostřednictvím funkce WindowProc.

#define WM_XBUTTONDOWN                  0x020B

Parametry

wParam

Slovo s nízkým pořadím označuje, jestli jsou různé virtuální klíče mimo provoz. Může to být jedna nebo více následujících hodnot.

Hodnota Význam
MK_CONTROL
0x0008
Klávesa CTRL je dole.
MK_LBUTTON
0x0001
Levé tlačítko myši je dole.
MK_MBUTTON
0x0010
Prostřední tlačítko myši je dole.
MK_RBUTTON
0x0002
Pravé tlačítko myši je dole.
MK_SHIFT
0x0004
Klávesa SHIFT je dole.
MK_XBUTTON1
0x0020
XBUTTON1 je dole.
MK_XBUTTON2
0x0040
XBUTTON2 je dole.

Slovo s vysokým pořadím označuje, na které tlačítko se kliklo. Může to být jedna z následujících hodnot.

Hodnota Význam
XBUTTON1
0x0001
Na XBUTTON1 došlo k kliknutí.
XBUTTON2
0x0002
Na XBUTTON2 došlo k kliknutí.

lParam

Slovo s nízkým pořadím určuje souřadnici x kurzoru. Souřadnice je relativní vzhledem k levému hornímu rohu klientské oblasti.

Slovo s vysokým pořadím určuje souřadnici y kurzoru. Souřadnice je relativní vzhledem k levému hornímu rohu klientské oblasti.

Návratová hodnota

Pokud aplikace zpracuje tuto zprávu, měla by vrátit TRUE. Další informace o zpracování návratové hodnoty naleznete v části Poznámky.

Poznámky

Windows podporuje myši až s pěti tlačítky: vlevo, uprostřed a vpravo, plus dvě další tlačítka s názvem XBUTTON1 a XBUTTON2. Tlačítka XBUTTON1 a XBUTTON2 se často nacházejí na stranách myši poblíž základny. Tato tlačítka navíc nejsou přítomna na všech myších. Pokud jsou k dispozici, tlačítka XBUTTON1 a XBUTTON2 se často mapují na funkci aplikace, jako je navigace vpřed a dozadu ve webovém prohlížeči.

Pomocí následujícího kódu získejte informace v parametru wParam:

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

K získání vodorovné a svislé pozice použijte následující kód:

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

Jak je uvedeno výše, souřadnice x je v nízkém pořadí návratové hodnoty; souřadnice y je ve vysokém pořadí krátkých (oba představují podepsané hodnoty, protože mohou přijímat záporné hodnoty v systémech s více monitory). Pokud je vrácená hodnota přiřazena k proměnné, můžete pomocí makra MAKEPOINTS získat strukturu POINTS z návratové hodnoty. K extrahování souřadnic x nebo y můžete použít také GET_X_LPARAM nebo GET_Y_LPARAM makro.

Důležitý

Nepoužívejte LOWORD ani makra HIWORD extrahovat souřadnice kurzoru x a y, protože tato makra vrací nesprávné výsledky v systémech s více monitory. Systémy s více monitory můžou mít záporné souřadnice x a y a LOWORD a HIWORD zacházet se souřadnicemi jako s množstvími bez znaménka.

Na rozdíl od zpráv WM_LBUTTONDOWN, WM_MBUTTONDOWNa WM_RBUTTONDOWN by aplikace měla vrátit TRUE z této zprávy, pokud ji zpracuje. Tím umožníte softwaru, který simuluje tuto zprávu v systémech Windows starších než Windows 2000, určit, zda procedura okna zpracovala zprávu nebo volala DefWindowProc zpracovat.

Požadavky

Požadavek Hodnota
Minimální podporovaný klient
Windows 2000 Professional [jenom desktopové aplikace]
Minimální podporovaný server
Windows 2000 Server [jenom desktopové aplikace]
Záhlaví
Winuser.h (včetně Windowsx.h)

Viz také

referenční

GET_KEYSTATE_WPARAM

GET_X_LPARAM

GET_XBUTTON_WPARAM

GET_Y_LPARAM

GetCapture

SetCapture

WM_XBUTTONDBLCLK

WM_XBUTTONUP

koncepční

vstupu myši

další prostředky

MAKEPOINTS

bodů