Вы находитесь на странице: 1из 6

Сообщения ввода в ОС Win

https://learn.microsoft.com/en-us/windows/win32/inputdev/user-input
Последовательность сообщений клавиатуры

WM_SYSKEYDOWN
WM_KEYDOWN
WM_KEYUP
WM_SYSKEYUP
WM_SYSCHAR
WM_CHAR
Cообщение WM_KEYDOWN

wParam - код виртуального ключа


https://learn.microsoft.com/ru-ru/windows/win32/inputdev/virtual-key-codes

lParam - содержит дополнительные сведения о


нажатии клавиш
case WM_KEYDOWN:
switch (wParam)
{ case VK_LEFT: // LEFT ARROW
break;
case VK_RIGHT: // RIGHT ARROW
nVirtKey = GetKeyState(VK_SHIFT);
if (nVirtKey & 0x8000)
{ }
break;
case VK_UP: // UP ARROW
case VK_DOWN: // DOWN ARROW
//…………..
return 0;

case VK_HOME: // HOME


//…………..
break;
}
break;
Сообщение WM_CHAR
case WM_CHAR:
switch (wParam)
{ case 0x08: // backspace
case 0x0A: // enter
case 0x1B: // escape
MessageBeep((UINT) -1);
return 0;

case 0x09: // tab

break;
WM_LBUTTONDOWN сообщение

wParam
Значение Значение
MK_CONTROL 0x0008 Клавиша CTRL нажата.
MK_MBUTTON 0x0010 Средняя кнопка мыши нажата.
MK_RBUTTON 0x0002 Правая кнопка мыши нажата.
MK_SHIFT 0x0004 Клавиша SHIFT нажата.

lParam
case WM_LBUTTONDOWN:
{ pt.x = GET_X_LPARAM(lParam);
pt.y = GET_Y_LPARAM(lParam); }
break;

Вам также может понравиться