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 |
|
Lásd még:
-
referencia
-
fogalmi
-
Egyéb erőforrások