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


WM_MOUSEWHEEL üzenet

Az egérkerék elforgatásakor a fókuszablakba kerül. 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_MOUSEWHEEL                   0x020A

Paraméterek

wParam

A nagyrendű szó azt jelzi, hogy a kerék milyen távolságban forog, WHEEL_DELTAtöbbszörösében vagy osztásában kifejezve, ami 120. A pozitív érték azt jelzi, hogy a kereket előre, a felhasználótól távol forgották el; negatív érték azt jelzi, hogy a kerék visszafelé, a felhasználó felé 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

Az alábbi kóddal lekérheti 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 a következő 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 lesz, 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 (szabadon forgó kerekeket, amelyek nincsenek jelölőjelek), hogy rotációnként több üzenetet küldjenek, de mindegyik üzenet kisebb értékkel rendelkezik. A funkció használatához hozzáadhatja a bejövő delta é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.

Megjegyzés: a MSH_MOUSEWHEELnem fwKeys. Ellenkező esetben a paraméterek pontosan megegyeznek WM_MOUSEWHEEL.

Az alkalmazáson múlik, hogy MSH_MOUSEWHEEL továbbítson-e beágyazott objektumokhoz vagy vezérlőkhöz. Az alkalmazásnak el kell küldenie az üzenetet egy aktív beágyazott OLE-alkalmazásnak. Nem kötelező, hogy az alkalmazás a fókuszban lévő, kerékbarát vezérlőnek küldje el. Ha az alkalmazás elküldi az üzenetet egy vezérlőnek, ellenőrizheti a visszatérési értéket, és ellenőrizheti, hogy az üzenet feldolgozása megtörtént-e. A vezérlőknek TRUE értéket kell visszaadniuk, ha feldolgozzák az üzenetet.

Követelmények

Követelmény Érték
Minimálisan támogatott ügyfél
Windows 2000 Professional [csak asztali alkalmazások]
Minimálisan támogatott kiszolgáló
Windows 2000 Server [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