Megosztás:


MOUSE_EVENT_RECORD szerkezet

Fontos

Ez a dokumentum a konzolplatform azon funkcióit ismerteti, amelyek már nem részei az ökoszisztéma ütemtervének. Nem javasoljuk, hogy ezt a tartalmat új termékekben használja, de továbbra is támogatni fogjuk a határozatlan időre vonatkozó meglévő használatokat. Előnyben részesített modern megoldásunk a virtuális terminálütemezésekre összpontosít a platformfüggetlen forgatókönyvek maximális kompatibilitása érdekében. Erről a tervezési döntésről a klasszikus konzol és a virtuális terminál dokumentumában talál további információt.

A konzol INPUT_RECORD szerkezetében lévő egérbemeneti eseményt ismerteti.

Szemantika

typedef struct _MOUSE_EVENT_RECORD {
  COORD dwMousePosition;
  DWORD dwButtonState;
  DWORD dwControlKeyState;
  DWORD dwEventFlags;
} MOUSE_EVENT_RECORD;

Tagok

dwMousePosition
COORD-struktúra, amely a kurzor helyét tartalmazza a konzol képernyőpuffer karaktercellájának koordinátái alapján.

dwButtonState
Az egérgombok állapota. A legkisebb jelentős bit a bal szélső egérgombnak felel meg. A következő legkevésbé jelentős bit a jobb szélső egérgombnak felel meg. A következő bit a balról balra mutató egérgombot jelzi. A bitek ezután balról jobbra az egérgomboknak felelnek meg. Egy bit 1, ha a gombot lenyomták.

Az első öt egérgombhoz az alábbi állandók vannak definiálva.

Érték Értelmezés
FROM_LEFT_1ST_BUTTON_PRESSED 0x0001 A bal szélső egérgomb.
FROM_LEFT_2ND_BUTTON_PRESSED 0x0004 A második gomb a bal oldalon található.
FROM_LEFT_3RD_BUTTON_PRESSED 0x0008 A harmadik gomb balról.
FROM_LEFT_4TH_BUTTON_PRESSED 0x0010 Balról a negyedik gomb.
RIGHTMOST_BUTTON_PRESSED 0x0002 A jobb szélső egérgomb.

dwControlKeyState
A vezérlőkulcsok állapota. Ez a tag az alábbi értékek közül egy vagy több lehet.

Érték Értelmezés
CAPSLOCK_ON 0x0080 A CAPS LOCK fény be van kapcsolva.
ENHANCED_KEY 0x0100 A kulcs továbbfejlesztett. Lásd a megjegyzéseket.
LEFT_ALT_PRESSED 0x0002 A bal OLDALI ALT billentyű lenyomva van.
LEFT_CTRL_PRESSED 0x0008 A bal OLDALI CTRL billentyű lenyomva van.
NUMLOCK_ON 0x0020 A NUM LOCK fény be van kapcsolva.
RIGHT_ALT_PRESSED 0x0001 A jobb OLDALI ALT billentyű lenyomva van.
RIGHT_CTRL_PRESSED 0x0004 A jobb OLDALI CTRL billentyű lenyomva van.
SCROLLLOCK_ON 0x0040 A SCROLL LOCK fény be van kapcsolva.
SHIFT_PRESSED 0x0010 A SHIFT billentyű lenyomva van.

dwEventFlags
Az egéresemény típusa. Ha ez az érték nulla, az azt jelzi, hogy az egérgombot lenyomják vagy felengedik. Ellenkező esetben ez a tag az alábbi értékek egyike.

Érték Értelmezés
DOUBLE_CLICK 0x0002 A dupla kattintás második kattintása (gombnyomás) történt. Az első kattintás normál gombnyomásos eseményként lesz visszaadva.
MOUSE_HWHEELED 0x0008 A vízszintes egérkerék elmozdult.

Ha a dwButtonState tag magas szava pozitív értéket tartalmaz, a kerék jobbra forgott. Ellenkező esetben a kereket balra forgatták.
MOUSE_MOVED 0x0001 Változás történt az egér pozíciójában.
MOUSE_WHEELED 0x0004 A függőleges egérkerék elmozdult.

Ha a dwButtonState tag magas szava pozitív értéket tartalmaz, a kereket előre, a felhasználótól távol forgassa el. Ellenkező esetben a kerék visszafelé, a felhasználó felé forgott.

Megjegyzések

Az egéresemények akkor kerülnek a bemeneti pufferbe, ha a konzol egér módban van (ENABLE_MOUSE_INPUT).

Az egéresemények akkor jönnek létre, amikor a felhasználó áthelyezi az egeret, vagy lenyomja vagy felengedi az egérgombok egyikét. Az egéresemények csak akkor kerülnek a konzol bemeneti pufferébe, ha a konzolcsoportban a billentyűzetfókusz van, és a kurzor a konzol ablakának határain belül van.

Példák

Példa: Bemeneti pufferes események olvasása.

Követelmények

   
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]
Header WinConTypes.h (a WinCon.h-n keresztül, a Windows.h-t is belefoglalva)

Lásd még

COORD

INPUT_RECORD

PeekConsoleInput

ReadConsoleInput

WriteConsoleInput