Виртуальные клавиши
WM_CHARTOITEM
WM_VKEYTOITEM
Если родительское окно получает сообщение WM_CHARTOITEM, параметр wParam содержит код символа, соответствующего нажатой клавише.
Если список имеет стиль LBS_HASSTRINGS, родительское окно будет получать сообщение WM_VKEYTOITEM, а если не имеет - сообщение WM_CHARTOITEM.
Параметр wParam сообщения WM_VKEYTOITEM содержит виртуальный код нажатой клавиши. Например, если пользователь выделит строку в списке и нажмет клавишу <Enter>, родительское окно получит сообщение WM_VKEYTOITEM со значением параметра wParam, равным VK_RETURN. При этом оно может получить из списка выбранную строку и выполнить над ней необходимые действия.
Паpаметpы:
wParam: Опpеделяет нажатую клавишу.
lParamLo: Описатель блока списка.
lParamHi: Текущая позиция вставки.
Паpаметpы:
wParam: Опpеделяет нажатую клавишу.
lParamLo: Описатель блока списка.
lParamHi: Текущая позиция вставки.
Цифры на цифровой клавиатуре имеют коды, отличные от цифр, расположенных в верхнем ряду обычной клавиатуры. Есть только один код виртуальной клавиши для клавиш Shift. Обе клавиши Shift вырабатывают один и тот же код VK_SHIFT.
Таблица. Коды виртуальных клавиш
| Имя символической константы | Значение (16-ричное) | Эквивалент аля мыши или клавиатуры |
| VK_LBUTTON | Левая кнопка мыши. | |
| VK_RBUTTON | Правая кнопка мыши. | |
| VK_CANCEL | Обработка комбинации клавиш Control-Break. | |
| VK_MBUTTON | Средняя кнопка мыши (мышь с тремя кнопками) или одновременно левая и правая кнопки мыши. | |
| VK_BACK | Клавиша возврата на позицию (Backspace). | |
| VK_TAB | Клавиша Tab. | |
| VK_CLEAR | ОС | Клавиша Clear. |
| VK_RETURN | 0D | Клавиша Enter. |
| VK_SHIFT | Клавиша Shift. | |
| VK_CONTROL | Клавиша Ctrl. | |
| VK_MENU | Клавиша Alt. | |
| VK_PAUSE | Клавиша Pause. | |
| VK_CAPITAL | Клавиша Caps Lock. | |
| VK_KANA | Режим IME Капа. | |
| VK_HANGUL | IS | Режим IME Hangul. |
| VKJUNJA | Режим IME Junja. | |
| VKJWAL | Заключительный режим IME. | |
| VK_HANJA | Режим IME Hanja. | |
| VK_KANJI | Режим IME Kanji. | |
| VK_ESCAPE | IB | Клавиша Esc. |
| VK_CONVERT | 1C | Преобразование IME. |
| VK_NONCONVERT | ID | Отсутствие преобразования IME. |
| VK_ACCEPT | IE | Подтверждение IME. |
| VK_MODECHANGE | IF | Запрос смены режима IME. |
| VK_SPACE | 70 | Клавиша пробела. |
| VK_PRIOR | Клавиша PgUp. | |
| VK_NEXT | Клавиша PgDn. | |
| VK_END | Клавиша End. | |
| VK_HOME | Клавиша Ноmе. | |
| VK_LEFT | Клавиша стрелки влево. | |
| VK_UP | Клавиша стрелки вверх. | |
| VK_RIGHT | Клавиша стрелки вправо. | |
| VK_DOWN | Клавиша стрелки вниз. | |
| VK_SELECT | Клавиша Select. | |
| VK_PRINT | 2A | Клавиша Print. |
| VK_EXECUTE | Клавиша Execute. | |
| VK_SNAPSHOT | 2C | Клавиша Print Screen. |
| VK INSERT | 2D | Клавиша Insert. |
| VK_DELETE | 2E | Клавиша Delete. |
| VK_HELP | 2F | Клавиша Help. |
| VK_0-VK_9 | 30-39 | Клавиши 0—9. |
| VK_A-VK_Z | 41-SA | Клавиши A— Z. |
| VK_LWIN | SB | Левая клавиша Windows. |
| VK_RWIN | SC | Правая клавиша Windows. |
| VK_APPS | SO | Клавиша приложений. |
| VK_SLEEP | SF | Клавиша перевода компьютера в состояние простоя. |
| VK_NUMPADO | Клавиша 0 цифровой клавиатуры. | |
| VK_NUMPAD1 | Клавиша 1 цифровой клавиатуры | |
| VK_NUMPAD2 | 62 | Клавиша 2 цифровой клавиатуры |
| VK_NUMPAD3 | Клавиша 3 цифровой клавиатуры | |
| VK_NUMPAD4 | Клавиша 4 цифровой клавиатуры | |
| VK_NUMPAD5 | Клавиша 5 цифровой клавиатуры | |
| VK_NUMPAD6 | Клавиша 6 цифровой клавиатуры | |
| VK_NUMPAD7 | Клавиша 7 цифровой клавиатуры | |
| VK_NUMPAD8 | Клавиша 8 цифровой клавиатуры | |
| VK_NUpAD8 | Клавиша 9 цифровой клавиатуры | |
| VK_MULTIPLY | 6A | Клавиша умножения. |
| VK ADD | 6B | Клавиша сложения. |
| VK_SEPARATOR | 6C | Клавиша разделителя. |
| VK_SUBTRACT | 6D | Клавиша вычитания. |
| УК_DЕCIMAL | 6E | Клавиша десятичной точки. |
| VK_DIVIDE | 6F | Клавиша деления. |
| VK_F1-VK_F24 | 70-87 | Клавиша F1 — F24. |
| VK_NUMLOCK | Клавиша Mum Lock. | |
| VK_SCROLL | Клавиша Scroll Lock. | |
| VK_LSWFT | А0 | Левая клавиша Shift. Применяется только в функциях GetKeyState и GetAsyncKey State. |
| VK_RSHIFT | A1 | Правая клавиша Shift. Применяется только в функциях GetKeyState и GetAsyncKey State. |
| VK_LCONTROL | A2 | Левая клавиша Ctrl. Применяется только в функциях GetKeyState и GetAsyncKey State. |
| VK_RCONTROL | A3 | Правая клавиша Ctrl. Применяется только в функциях GetKeyState и GetAsyncKeyState. |
| VK_LMENU | A4 | Левая клавиша Alt. Применяется только в функциях GetKeyState и GetAsyncKeyState. |
| VK_RMENU | A5 | Правая клавиша Alt. Применяется только в функциях GetKeyState и GetAsyncKeyState. |
| VK_BROSER BACK | A6 | Клавиша Back браузера. |
| VK_BROWSER FORWARD | A7 | Клавиша Forward браузера. |
| VK_BROWSER _REFRESH | A8 | Клавиша Refresh браузера. |
| VK_BROWSER_STOP | A9 | Клавиша Stop браузера. |
| VK_BROWSER _SEARCH | AA | Клавиша Search браузера. |
| VK_BROWSER _FAVORITES | AB | Клавиша Favorites браузера. |
| VK_BROWSER _HOME | AC | Клавиша Ноте браузера. |
| VK_VOLUME _MUTE | AD | Клавиша Volume Mute. |
| VK_VOLUME _DOWN | AE | Клавиша Volume Down. |
| VK_OEM_1 | BA | Клавиша ";" и ":" американской стандартной клавиатуры. |
| VK_OEM_PLUS | BB | Клавиша "+" американской стандартной клавиатуры. |
| VK_OEM_COMMA | BC | Клавиша "," американской стандартной клавиатуры. |
| VK_OEM_MINUS | BD | Клавиша "-" американской стандартной клавиатуры. |
| VK_OEM_PERIOD | BE | Клавиша "." американской стандартной клавиатуры. |
| VK_OEM_2 | BF | Клавиша "/" и "?" американской стандартной клавиатуры. |
| VK_OEM_3 | CO | Клавиша """ американской стандартной клавиатуры. |
| VK_OEM_4 | DB | Клавиша "[" и "{" американской стандартной клавиатуры. |
| VK_OEM_5 | DC | Клавиша "\" и "|" американской стандартной клавиатуры. |
| VK_OEM_6 | D0 | Клавиша "]" и "}" американской стандартной клавиатуры. |
| VK_OEM_7 | DE | Клавиша " " и ' американской стандартной клавиатуры. |
| VK_PACKET | E7 | Применяется для передачи символов Unicode в виде комбинации клавиш. Клавиша VK_PACKET представляет собой младшее слово 32-разрядного значения виртуальной клавиши, используемой для неклавиатурных методов ввода. |
| VK_ATTN | F6 | Клавиша Attn. |
| VK_CRSEL | F7 | Клавиша CrSel. |
| VK_EXSEL | F8 | Клавиша ExSel._____ |
| VK_EREOF | F9 | Клавиша Erase EOF. |
| VK_PLAY | FA | Клавиша Play. |
| VK_ZOOM | FB | Клавиша Zoom |
| VK_PA1 | FD | Клавиша PA1 |
| VK_OEM_CLEAR | FE | Клавиша Clear |






