Сообщения WM_VKEYTOITEM WM_KEYDOWN, WM_KEYUP, WM_SYSKEYDOWN и WM_SYSKEYUP содержат коды виртуальных клавиш в параметре wParam

Виртуальные клавиши

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: