Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Ez a szakasz azt ismerteti, hogy a rendszer hogyan biztosítja az egér bemenetét az alkalmazásnak, valamint azt, hogy az alkalmazás hogyan fogadja és dolgozza fel a bemenetet.
Ebben a szakaszban
| Téma | Leírás |
|---|---|
|
Az egérbemeneti |
Ez a témakör az egér bemenetét ismerteti. |
|
Egérbemeneti |
Ez a szakasz az egér bemenetéhez kapcsolódó feladatokat ismerteti. |
|
egérbemeneti referencia |
Funkciók
| Név | Leírás |
|---|---|
| _TrackMouseEvent | Üzeneteket ad meg, ha az egérmutató egy adott ideig elhagyja az ablakot, vagy rámutat egy ablakra. Ez a függvény meghívja TrackMouseEvent, ha létezik, ellenkező esetben emulálja. |
| BlockInput | Letiltja, hogy a billentyűzet- és egérbemeneti események elérjék az alkalmazásokat. |
| DragDetect | Rögzíti az egeret, és nyomon követi annak mozgását, amíg a felhasználó fel nem oldja a bal gombot, lenyomja az ESC billentyűt, vagy az egeret a megadott pont körül a húzási téglalapon kívülre helyezi. A húzási téglalap szélességét és magasságát a GetSystemMetrics függvény által visszaadott SM_CXDRAG és SM_CYDRAG értékek adják meg. |
| EnableMouseInPointer | Lehetővé teszi, hogy az egér mutatóeszközként működjön. |
| EnableWindow | Engedélyezi vagy letiltja az egér- és billentyűzetbemenetet a megadott ablakban vagy vezérlőben. Ha a bemenet le van tiltva, az ablak nem kap bemenetet, például az egérkattintásokat és a billentyűnyomásokat. Ha a bemenet engedélyezve van, az ablak minden bemenetet megkap. |
| GetCapture | Lekéri a fogópontot arra az ablakra (ha van ilyen), amely rögzítette az egeret. Egyszerre csak egy ablak képes rögzíteni az egeret; ez az ablak megkapja az egér bemenetét, függetlenül attól, hogy a kurzor a szegélyeken belül van-e. |
| GetDoubleClickTime | Lekéri az egér aktuális dupla kattintási idejét. A dupla kattintás az egérgomb két kattintásából álló sorozat, a második az első után megadott időn belül következik be. A dupla kattintási idő az a maximális ezredmásodperc, amely a dupla kattintás első és második kattintása között fordulhat elő. |
| GetMouseMovePointsEx | Az egér vagy toll 64 korábbi koordinátájának előzményeit kéri le. |
| IsWindowEnabled | Meghatározza, hogy a megadott ablak engedélyezve van-e az egér- és billentyűzetbemenethez. |
| ReleaseCapture | Felszabadítja az egérrögzítést az aktuális szál egyik ablakából, és visszaállítja a normál egérbemenet-feldolgozást. Az egérrel rögzített ablak a kurzor helyzetétől függetlenül minden egérbemenetet megkap, kivéve, ha egy egérgombra kattint, miközben a kurzor egy másik szál ablakában van. |
| SendInput | Szintetizálja a billentyűleütéseket, az egérmozgásokat és a gombkattintásokat. |
| SetCapture | Beállítja az egérrögzítést az aktuális szálhoz tartozó megadott ablakra.
SetCapture rögzíti az egér bemenetét, ha az egér a rögzítési ablakban van, vagy ha az egérgombot lenyomták, miközben az egér a rögzítési ablakban volt, és a gomb még mindig le van állítva. Egyszerre csak egy ablak képes rögzíteni az egeret. Ha az egérmutató egy másik szál által létrehozott ablak felett van, a rendszer csak akkor irányítja az egér bemenetét a megadott ablakba, ha az egérgomb le van adva. |
| SetDoubleClickTime | Az egér dupla kattintási idejét állítja be. A dupla kattintás az egérgomb két kattintásából álló sorozat, a második pedig az első után megadott időn belül következik be. A dupla kattintási idő az ezredmásodperc maximális száma, amely a dupla kattintás első és második kattintása között fordulhat elő. |
| SwapMouseButton | Megfordítja vagy visszaállítja a bal és jobb egérgombok jelentését. |
| TrackMouseEvent | Üzeneteket ad meg, ha az egérmutató egy adott ideig elhagyja az ablakot, vagy rámutat egy ablakra. |
Az alábbi függvény elavult.
| Funkció | Leírás |
|---|---|
| mouse_event | Szintetizálja az egér mozgását és a gombkattintásokat. |
Értesítések
| Név | Leírás |
|---|---|
| WM_APPCOMMAND | Értesítést küld arról, hogy a felhasználó létrehozott egy alkalmazásparancs-eseményt, például egy alkalmazásparancs gombra kattintva az egérrel, vagy begépel egy alkalmazásparancskulcsot a billentyűzeten. |
| WM_CAPTURECHANGED | Az egérrögzítést elveszítő ablakba küldve. |
| WM_LBUTTONDBLCLK | Közzétéve, amikor a felhasználó duplán kattint a bal egérgombra, miközben a kurzor az ablak ügyfélterületén van. Ha az egér nincs rögzítve, az üzenet a kurzor alatti ablakba kerül. Ellenkező esetben az üzenet arra az ablakra kerül, amely rögzítette az egeret. |
| WM_LBUTTONDOWN | Közzétéve, amikor a felhasználó lenyomja a bal egérgombot, miközben a kurzor az ablak ügyfélterületén van. Ha az egér nincs rögzítve, az üzenet a kurzor alatti ablakba kerül. Ellenkező esetben az üzenet arra az ablakra kerül, amely rögzítette az egeret. |
| WM_LBUTTONUP | Közzétéve, amikor a felhasználó felengedi a bal egérgombot, miközben a kurzor az ablak ügyfélterületén van. Ha az egér nincs rögzítve, az üzenet a kurzor alatti ablakba kerül. Ellenkező esetben az üzenet arra az ablakra kerül, amely rögzítette az egeret. |
| WM_MBUTTONDBLCLK | Közzétéve, amikor a felhasználó duplán kattint a középső egérgombra, miközben a kurzor az ablak ügyfélterületén van. Ha az egér nincs rögzítve, az üzenet a kurzor alatti ablakba kerül. Ellenkező esetben az üzenet arra az ablakra kerül, amely rögzítette az egeret. |
| WM_MBUTTONDOWN | Közzétéve, amikor a felhasználó lenyomja a középső egérgombot, miközben a kurzor az ablak ügyfélterületén van. Ha az egér nincs rögzítve, az üzenet a kurzor alatti ablakba kerül. Ellenkező esetben az üzenet arra az ablakra kerül, amely rögzítette az egeret. |
| WM_MBUTTONUP | Közzétéve, amikor a felhasználó felengedi a középső egérgombot, miközben a kurzor az ablak ügyfélterületén van. Ha az egér nincs rögzítve, az üzenet a kurzor alatti ablakba kerül. Ellenkező esetben az üzenet arra az ablakra kerül, amely rögzítette az egeret. |
| WM_MOUSEACTIVATE | Akkor küldi el, ha a kurzor inaktív ablakban van, és a felhasználó lenyom egy egérgombot. A szülőablak csak akkor kapja meg ezt az üzenetet, ha a gyermekablak átadja a DefWindowProc függvénynek. |
| WM_MOUSEHOVER | Egy ablakba van közzétéve, amikor a kurzor az ablak ügyfélterületére mutat a TrackMouseEvent egy korábbi hívásban megadott időtartamra. |
| WM_MOUSEHWHEEL | A fókuszablakba küldve, amikor az egér vízszintes görgetőkereke el van döntve vagy elforgatva. ADefWindowProcfüggvény propagálja az üzenetet az ablak szülőjének. Az üzenetnek nem szabad belső továbbítása, mert DefWindowProc propagálja a szülőláncon, amíg meg nem talál egy ablakot, amely feldolgozza azt. |
| WM_MOUSELEAVE | Közzétéve egy ablakba, amikor a kurzor elhagyja az ablak ügyfélterületét, amelyet a TrackMouseEventkorábbi hívásában megadott. |
| WM_MOUSEMOVE | A kurzor áthelyezésekor az ablakba kerül. Ha az egér nincs rögzítve, az üzenet a kurzort tartalmazó ablakba kerül. Ellenkező esetben az üzenet arra az ablakra kerül, amely rögzítette az egeret. |
| WM_MOUSEWHEEL | 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, mert DefWindowProc propagálja a szülőláncon, amíg meg nem talál egy ablakot, amely feldolgozza azt. |
| WM_NCHITTEST | Az ablakba küldve megállapíthatja, hogy az ablak mely része felel meg egy adott képernyőkoordinátának. Ez történhet például a kurzor áthelyezésekor, az egérgomb lenyomásakor vagy felengedésekor, vagy egy függvény, például WindowFromPointhívására adott válaszként. Ha az egér nincs rögzítve, a rendszer elküldi az üzenetet a kurzor alatti ablakba. Ellenkező esetben a rendszer arra az ablakra küldi az üzenetet, amely rögzítette az egeret. |
| WM_NCLBUTTONDBLCLK | Akkor kerül közzétételre, ha a felhasználó duplán a bal egérgombra kattint, miközben a kurzor az ablak nem megfelelő területén belül van. Ez az üzenet a kurzort tartalmazó ablakban jelenik meg. Ha egy ablak rögzítette az egeret, ez az üzenet nem lesz közzétéve. |
| WM_NCLBUTTONDOWN | Közzétéve, amikor a felhasználó lenyomja a bal egérgombot, miközben a kurzor az ablak nem megfelelő területén van. Ez az üzenet a kurzort tartalmazó ablakban jelenik meg. Ha egy ablak rögzítette az egeret, ez az üzenet nem lesz közzétéve. |
| WM_NCLBUTTONUP | Közzétéve, amikor a felhasználó felengedi a bal egérgombot, miközben a kurzor az ablak nem megfelelő területén van. Ez az üzenet a kurzort tartalmazó ablakban jelenik meg. Ha egy ablak rögzítette az egeret, ez az üzenet nem lesz közzétéve. |
| WM_NCMBUTTONDBLCLK | Közzétéve, amikor a felhasználó duplán kattint a középső egérgombra, miközben a kurzor az ablak nem megfelelő területén belül van. Ez az üzenet a kurzort tartalmazó ablakban jelenik meg. Ha egy ablak rögzítette az egeret, ez az üzenet nem lesz közzétéve. |
| WM_NCMBUTTONDOWN | Közzétéve, amikor a felhasználó lenyomja a középső egérgombot, miközben a kurzor az ablak nem megfelelő területén van. Ez az üzenet a kurzort tartalmazó ablakban jelenik meg. Ha egy ablak rögzítette az egeret, ez az üzenet nem lesz közzétéve. |
| WM_NCMBUTTONUP | Közzétéve, amikor a felhasználó felengedi a középső egérgombot, miközben a kurzor az ablak nem megfelelő területén van. Ez az üzenet a kurzort tartalmazó ablakban jelenik meg. Ha egy ablak rögzítette az egeret, ez az üzenet nem lesz közzétéve. |
| WM_NCMOUSEHOVER | Közzétéve egy ablakban, amikor a kurzor az ablak nemclient területére mutat a TrackMouseEventkorábbi hívásában megadott időtartamra. |
| WM_NCMOUSELEAVE | Egy ablakba van közzétéve, amikor a kurzor elhagyja az ablak nemclient területét, amelyet a TrackMouseEventkorábbi hívásában megadott. |
| WM_NCMOUSEMOVE | Az ablakba kerül, amikor a kurzor az ablak nem megfelelő területén belülre kerül. Ez az üzenet a kurzort tartalmazó ablakban jelenik meg. Ha egy ablak rögzítette az egeret, ez az üzenet nem lesz közzétéve. |
| WM_NCRBUTTONDBLCLK | Akkor jelenik meg, ha a felhasználó duplán kattint a jobb egérgombra, miközben a kurzor az ablak nem megfelelő területén belül van. Ez az üzenet a kurzort tartalmazó ablakban jelenik meg. Ha egy ablak rögzítette az egeret, ez az üzenet nem lesz közzétéve. |
| WM_NCRBUTTONDOWN | Akkor jelenik meg, amikor a felhasználó lenyomja a jobb egérgombot, miközben a kurzor az ablak nem megfelelő területén belül van. Ez az üzenet a kurzort tartalmazó ablakban jelenik meg. Ha egy ablak rögzítette az egeret, ez az üzenet nem lesz közzétéve. |
| WM_NCRBUTTONUP | Közzétéve, amikor a felhasználó felengedi a jobb egérgombot, miközben a kurzor az ablak nem megfelelő területén van. Ez az üzenet a kurzort tartalmazó ablakban jelenik meg. Ha egy ablak rögzítette az egeret, ez az üzenet nem lesz közzétéve. |
| WM_NCXBUTTONDBLCLK | Akkor kerül közzétételre, ha a felhasználó duplán kattint XBUTTON1 vagy XBUTTON2, miközben a kurzor az ablak nem folytonos területén van. Ez az üzenet a kurzort tartalmazó ablakban jelenik meg. Ha egy ablak rögzítette az egeret, ez az üzenet nem lesz közzétéve. |
| WM_NCXBUTTONDOWN | Közzétéve, amikor a felhasználó lenyomja XBUTTON1 vagy XBUTTON2, miközben a kurzor az ablak nem folytonos területén van. Ez az üzenet a kurzort tartalmazó ablakban jelenik meg. Ha egy ablak rögzítette az egeret, ez az üzenet nem lesz közzétéve. |
| WM_NCXBUTTONUP | Akkor kerül közzétételre, ha a felhasználó XBUTTON1 vagy XBUTTON2, miközben a kurzor az ablak nem folytonos területén van. Ez az üzenet a kurzort tartalmazó ablakban jelenik meg. Ha egy ablak rögzítette az egeret, ez az üzenet nem lesz közzétéve. |
| WM_RBUTTONDBLCLK | Akkor jelenik meg, amikor a felhasználó duplán a jobb egérgombra kattint, miközben a kurzor az ablak ügyfélterületén van. Ha az egér nincs rögzítve, az üzenet a kurzor alatti ablakba kerül. Ellenkező esetben az üzenet arra az ablakra kerül, amely rögzítette az egeret. |
| WM_RBUTTONDOWN | Közzétéve, amikor a felhasználó lenyomja a jobb egérgombot, miközben a kurzor az ablak ügyfélterületén van. Ha az egér nincs rögzítve, az üzenet a kurzor alatti ablakba kerül. Ellenkező esetben az üzenet arra az ablakra kerül, amely rögzítette az egeret. |
| WM_RBUTTONUP | Akkor jelenik meg, amikor a felhasználó felengedi a jobb egérgombot, miközben a kurzor az ablak ügyfélterületén van. Ha az egér nincs rögzítve, az üzenet a kurzor alatti ablakba kerül. Ellenkező esetben az üzenet arra az ablakra kerül, amely rögzítette az egeret. |
| WM_XBUTTONDBLCLK | Közzétéve, amikor a felhasználó duplán kattint XBUTTON1 vagy XBUTTON2, miközben a kurzor az ablak ügyfélterületén van. Ha az egér nincs rögzítve, az üzenet a kurzor alatti ablakba kerül. Ellenkező esetben az üzenet arra az ablakra kerül, amely rögzítette az egeret. |
| WM_XBUTTONDOWN | Közzétéve, amikor a felhasználó lenyomja XBUTTON1 vagy XBUTTON2, miközben a kurzor az ablak ügyfélterületén van. Ha az egér nincs rögzítve, az üzenet a kurzor alatti ablakba kerül. Ellenkező esetben az üzenet arra az ablakra kerül, amely rögzítette az egeret. |
| WM_XBUTTONUP | Közzétéve, ha a felhasználó XBUTTON1 vagy XBUTTON2 bocsát ki, miközben a kurzor az ablak ügyfélterületén van. Ha az egér nincs rögzítve, az üzenet a kurzor alatti ablakba kerül. Ellenkező esetben az üzenet arra az ablakra kerül, amely rögzítette az egeret. |
Struktúrák
| Név | Leírás |
|---|---|
| HARDWAREINPUT | A billentyűzeten vagy egéren kívül más beviteli eszköz által létrehozott szimulált üzenetre vonatkozó információkat tartalmaz. |
| INPUT | Olyan információkat tartalmaz, amelyeket a bemeneti események, például a billentyűleütések, az egér mozgása és az egérkattintások szintetizálásához használnak. |
| LASTINPUTINFO | Az utolsó bemenet időpontját tartalmazza. |
| MOUSEINPUT | Egy szimulált egéresemény adatait tartalmazza. |
| MOUSEMOVEPOINT | Információkat tartalmaz az egér helyéről a képernyő koordinátáiban. |
| TRACKMOUSEEVENT | A TrackMouseEvent függvénnyel nyomon követheti, hogy az egérmutató mikor hagy el egy ablakot, vagy adott ideig rámutat egy ablakra. |