Megosztás a következőn keresztül:


WM_MOUSEHWHEEL üzenet

Az aktív ablakba küldve, amikor az egér vízszintes görgetőkereke el van döntve vagy elforgatva. A DefWindowProc függvény propagálja az üzenetet az ablak szülőjének. Az üzenetnek nem szabad belső továbbítása, mivel DefWindowProc propagálja a szülőláncon, amíg meg nem talál egy ablakot, amely feldolgozza azt.

Az ablak a WindowProc függvényen keresztül kapja meg ezt az üzenetet.

#define WM_MOUSEHWHEEL                  0x020E

Paraméterek

wParam

A nagyrendű szó azt jelzi, hogy a kerék milyen távolságban van elforgatva, WHEEL_DELTAtöbbszörösében vagy tényezőjében kifejezve, amely 120-ra van állítva. A pozitív érték azt jelzi, hogy a kereket jobbra forgatták; negatív érték azt jelzi, hogy a kerék balra forgott.

Az alacsonyrendű szó azt jelzi, hogy a különböző virtuális kulcsok le vannak-e omlva. Ez a paraméter az alábbi értékek közül egy vagy több lehet.

Érték Jelentés
MK_CONTROL
0x0008
A CTRL billentyű le van omlva.
MK_LBUTTON
0x0001
A bal egérgomb le van gombra kattintva.
MK_MBUTTON
0x0010
A középső egérgomb le van va.
MK_RBUTTON
0x0002
A jobb egérgomb le van omlva.
MK_SHIFT
0x0004
A SHIFT billentyű le van omlva.
MK_XBUTTON1
0x0020
A XBUTTON1 leállt.
MK_XBUTTON2
0x0040
A XBUTTON2 leállt.

lParam

Az alacsonyrendű szó a mutató x koordinátáját adja meg a képernyő bal felső sarkához viszonyítva.

A magasrendű szó a mutató y koordinátáját adja meg a képernyő bal felső sarkához viszonyítva.

Visszaadott érték

Ha egy alkalmazás feldolgozza ezt az üzenetet, nullát kell visszaadnia.

Megjegyzések

A következő kóddal szerezze be a wParam paraméter adatait.

fwKeys = GET_KEYSTATE_WPARAM(wParam);
zDelta = GET_WHEEL_DELTA_WPARAM(wParam);

A vízszintes és a függőleges pozíció beolvasásához használja az alábbi kódot.

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

Amint fentebb említettük, az x koordináták a visszatérési érték alacsony rövid; az y koordináta nagy sorrendben rövid (mindkettő aláírt értékeket jelöl, mert több monitorral rendelkező rendszereken negatív értékeket vehet fel). Ha a visszatérési érték egy változóhoz van rendelve, a MAKEPOINTS makróval lekérhet egy PONT struktúrát a visszatérési értékből. A GET_X_LPARAM vagy GET_Y_LPARAM makróval is kinyerheti az x vagy az y koordinátát.

Fontos

Ne használja a LOWORD vagy HIWORD makrókat a kurzor pozíciójának x- és y koordinátáinak kinyeréséhez, mert ezek a makrók helytelen eredményeket adnak vissza több monitorral rendelkező rendszereken. A több monitorral rendelkező rendszerek negatív x és y koordinátákkal rendelkezhetnek, a LOWORD és HIWORD pedig aláíratlan mennyiségként kezelik a koordinátákat.

A kerék forgása a WHEEL_DELTAtöbbszöröse, amely 120-ra van állítva. Ez a végrehajtandó művelet küszöbértéke, és minden egyes változáshoz egy ilyen műveletnek (például egy lépés görgetése) kell történnie.

A különbözet 120-ra lett állítva, hogy a Microsoft vagy más gyártók finomabb felbontású kerekeket hozzanak létre (például egy szabadon forgó kereket, amelynek nincs jelölése), hogy rotációnként több üzenetet küldhessenek, de mindegyik üzenet kisebb értékkel rendelkezik. A funkció használatához hozzáadhatja a bejövő különbözeti értékeket, amíg el nem éri WHEEL_DELTA (így a változásváltás esetén ugyanazt a választ kapja), vagy görgethet részleges sorokat a gyakoribb üzenetekre válaszul. Kiválaszthatja a görgetési részletességet is, és halmozhatja fel a különbözeteket, amíg el nem éri.

Követelmények

Követelmény Érték
Minimálisan támogatott ügyfél
Windows Vista [csak asztali alkalmazások]
Minimálisan támogatott kiszolgáló
Windows Server 2008 [csak asztali alkalmazások]
Fejléc
Winuser.h (a Windowsx.h is)

Lásd még:

referencia

GET_KEYSTATE_WPARAM

GET_X_LPARAM

GET_Y_LPARAM

GET_WHEEL_DELTA_WPARAM

HIWORD

LOWORD

mouse_event

fogalmi

egérbemeneti

Egyéb erőforrások

GetSystemMetrics

MAKEPOINTS

POINTS

SystemParametersInfo