Sdílet prostřednictvím


WM_MOUSEWHEEL zpráva

Při otáčení kolečka myši se odešle do okna fokusu. Funkce DefWindowProc rozšíří zprávu do nadřazeného objektu okna. Zpráva by neměla obsahovat žádné interní přeposílání, protože DefWindowProc ho rozšíří o nadřazený řetězec, dokud nenajde okno, které ji zpracuje.

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

#define WM_MOUSEWHEEL                   0x020A

Parametry

wParam

Slovo s vysokým pořadím označuje vzdálenost, o kterou je kolo otočené, vyjádřeno v násobcích nebo děleních WHEEL_DELTA, což je 120. Kladná hodnota označuje, že kolo bylo otočené dopředu, od uživatele; záporná hodnota označuje, že kolo bylo otočené zpět směrem k uživateli.

Slovo s nízkým pořadím označuje, jestli jsou různé virtuální klíče mimo provoz. Tento parametr může 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.

lParam

Slovo s nízkým pořadím určuje souřadnici x ukazatele vzhledem k levému hornímu rohu obrazovky.

Slovo s vysokým pořadím určuje souřadnici y ukazatele vzhledem k levému hornímu rohu obrazovky.

Návratová hodnota

Pokud aplikace tuto zprávu zpracuje, měla by vrátit nulu.

Poznámky

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

fwKeys = GET_KEYSTATE_WPARAM(wParam);
zDelta = GET_WHEEL_DELTA_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.

Otočení kola bude násobkem WHEEL_DELTA, který je nastaven na 120. Jedná se o prahovou hodnotu pro akci, která se má provést, a jedna taková akce (například posouvání o jeden přírůstek) by měla nastat pro každou rozdílovou hodnotu.

Rozdíl byl nastaven na 120, aby microsoft nebo jiní dodavatelé mohli vytvářet jemněji otočná kola (volně rotující kolo bez závorek), aby odeslali více zpráv na otáčení, ale s menší hodnotou v každé zprávě. Pokud chcete tuto funkci použít, můžete buď přidat příchozí rozdílové hodnoty, dokud nebude dosaženo WHEEL_DELTA (takže pro rozdílové otočení získáte stejnou odpověď), nebo posunete částečné řádky v reakci na častější zprávy. Můžete také zvolit členitost posouvání a shromáždí rozdíly, dokud nedosáhnete.

Poznámka: pro MSH_MOUSEWHEELneexistuje fwKeys . V opačném případě jsou parametry přesně stejné jako pro WM_MOUSEWHEEL.

Je až do aplikace, aby předala MSH_MOUSEWHEEL všem vloženým objektům nebo ovládacím prvkům. Aplikace je nutná k odeslání zprávy do aktivní vložené aplikace OLE. Je volitelné, aby ji aplikace odeslala do ovládacího prvku s podporou kolečka s fokusem. Pokud aplikace odešle zprávu ovládacímu prvku, může zkontrolovat návratovou hodnotu a zjistit, jestli byla zpráva zpracována. Ovládací prvky se vyžadují k vrácení hodnoty TRUE, pokud zprávu zpracovávají.

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_Y_LPARAM

GET_WHEEL_DELTA_WPARAM

HIWORD

LOWORD

mouse_event

koncepční

vstupu myši

další prostředky

GetSystemMetrics

MAKEPOINTS

bodů

SystemParametersInfo