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


Egér bemenete

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.