The MOUSE_EVENT_RECORD structure is used in a console INPUT_RECORD structure to report mouse input events.
typedef struct _MOUSE_EVENT_RECORD { // mer COORD dwMousePosition; DWORD dwButtonState; DWORD dwControlKeyState; DWORD dwEventFlags; } MOUSE_EVENT_RECORD;
The following constants are defined for the first five mouse buttons:
FROM_LEFT_1ST_BUTTON_PRESSED
RIGHTMOST_BUTTON_PRESSED
FROM_LEFT_2ND_BUTTON_PRESSED
FROM_LEFT_3RD_BUTTON_PRESSED
FROM_LEFT_4TH_BUTTON_PRESSED
Value |
Meaning |
RIGHT_ALT_PRESSED |
The right ALT key is pressed. |
LEFT_ALT_PRESSED |
The left ALT key is pressed. |
RIGHT_CTRL_PRESSED |
The right CTRL key is pressed. |
LEFT_CTRL_PRESSED |
The left CTRL key is pressed. |
CAPSLOCK_ON |
The CAPS LOCK light is on. |
ENHANCED_KEY |
The key is enhanced. |
NUMLOCK_ON |
The NUM LOCK light is on. |
SCROLLLOCK_ON |
The SCROLL LOCK light is on. |
SHIFT_PRESSED |
The SHIFT key is pressed. |
Value |
Meaning |
DOUBLE_CLICK |
The second click (button press) of a double-click occurred. The first click is returned as a regular button-press event. |
MOUSE_MOVED |
A change in mouse position occurred. |
Mouse events are placed in the input buffer when the console is in mouse mode (ENABLE_MOUSE_INPUT).
Mouse events are generated whenever the user moves the mouse, or presses or releases one of the mouse buttons. Mouse events are placed in a console’s input buffer only when the console group has the keyboard focus and the cursor is within the borders of the console’s window.
INPUT_RECORD, PeekConsoleInput, ReadConsoleInput, WriteConsoleInput