MOUSE_EVENT_RECORD
Структура
MOUSE_EVENT_RECORD используется
консольной структурой INPUT_RECORD
для получения сообщений мыши.
typedef struct _MOUSE_EVENT_RECORD {
COORD dwMousePosition;
DWORD dwButtonState;
DWORD dwControlKeyState;
DWORD dwEventFlags;
} MOUSE_EVENT_RECORD;
Элементы
dwMousePosition
Положение курсора в координатах экранного буфера (структура COORD).
dwButtonState
Состояние клавиш мыши.
Младший бит соответствует самой левой кнопке, следующий - самой правой,
Следующий бит - следующая за левой клавиша.
Далее биты соответствуют клавишам слева направо. Если бит установлен - клавиша нажата.
Определены следующие константы для первых пяти клавиш мыши:
FROM_LEFT_1ST_BUTTON_PRESSED
RIGHTMOST_BUTTON_PRESSED
FROM_LEFT_2ND_BUTTON_PRESSED
FROM_LEFT_3RD_BUTTON_PRESSED
FROM_LEFT_4TH_BUTTON_PRESSED
Определены следующие константы для первых пяти клавиш мыши:
FROM_LEFT_1ST_BUTTON_PRESSED
RIGHTMOST_BUTTON_PRESSED
FROM_LEFT_2ND_BUTTON_PRESSED
FROM_LEFT_3RD_BUTTON_PRESSED
FROM_LEFT_4TH_BUTTON_PRESSED
dwControlKeyState
Состояние управляющих клавиш. Может быть комбинацией следующих значений:
| Клавиша | Описание |
|---|---|
| CAPSLOCK_ON | CAPS LOCK включён. |
| ENHANCED_KEY | Клавиша расширенная. |
| LEFT_ALT_PRESSED | Левый ALT нажат. |
| LEFT_CTRL_PRESSED | Левый CTRL нажат. |
| NUMLOCK_ON | NUM LOCK включён. |
| RIGHT_ALT_PRESSED | Правый ALT нажат. |
| RIGHT_CTRL_PRESSED | Правый CTRL нажат. |
| SCROLLLOCK_ON | SCROLL LOCK включён. |
| SHIFT_PRESSED | Клавиша SHIFT нажата. |
dwEventFlags
Тип сообщения мыши. Если ноль, то кнопка мыши была нажата или отпущена.
Иначе одно из следующих значений:
| Событие | Описание |
|---|---|
| DOUBLE_CLICK | Второе нажатие при двойном щелчке (первое нажатие приходит как обычное сообщение). |
| MOUSE_MOVED | Позиция мыши изменилась. |
| MOUSE_WHEELED | Устанавливается при вертикальной прокрутке колёсика
на мышке. Если установлен этот флаг, то в старшем слове dwButtonState содержтся
значение, кратное WHEEL_DELTA. По умолчанию это значение равно 120, но может
изменяться в зависимости от драйвера мыши. |
| MOUSE_HWHEELED | Windows Vista/2008/7: Устанавливается при горизонтальной прокрутке колёсика
на мышке. Если установлен этот флаг, то в старшем слове dwButtonState содержтся
значение, кратное WHEEL_DELTA. По умолчанию это значение равно 120, но может
изменяться в зависимости от драйвера мыши. |
Замечания
Сообщения мыши помещаются во входной буфер, когда консоль имеет установленный
флаг
Сообщения мыши посылаются в буфер, только если консоль имеет активный клавиатурный фокус и курсор находится в границах консольного окна.
ENABLE_MOUSE_INPUT.Сообщения мыши посылаются в буфер, только если консоль имеет активный клавиатурный фокус и курсор находится в границах консольного окна.
Смотрите также: