Win32 API. Функции и сообщения ввода информации с клавиатуры
Страница 38. Сообщение WM_KEYUP


Сообщение WM_KEYUP

Сообщение WM_KEYUP посылается окну с фокусом клавиатуры тогда, когда отпущена несистемная клавиша. Несистемная клавиша - это клавиша, которая нажата, когда клавиша ALT не нажата или клавиша клавиатуры, которая нажимается тогда, когда окно имеет фокус клавиатуры.

Синтаксис

WM_KEYUP
nVirtKey = (int) wParam;// код виртуальной клавиши
lKeyData = lParam;// данные на клавишу

Параметры
nVirtKey
Значение wParam. Определяет код виртуальной клавиши для несистемной клавиши.
lKeyData
Значение lParam. Определяет счет повторений, скэн-код, флажок дополнительной клавиши, контекстный код, флажок предыдущего состояния клавиши и флажок переходного состояния, как показано в следующем списке:

  • 0-15 - Определяет счет повторений. Значение равно числу повторений нажатия клавиши в результате того, что пользователь удерживает клавишу нажатой. Для сообщения WM_KEYUP счет повторений равен всегда одному.
  • 16-23 - Определяет скэн-код. Значение зависит от фирмы - изготовителя комплектного оборудования (OEM).
  • 24 - Определяет, является ли клавиша расширенной клавишей, типа правосторонних клавиш ALT и CTRL, которые появляются на усовершенствованной 101- или 102-клавишной клавиатуре. Значение равно 1, если это дополнительная клавиша; иначе, оно равно 0.
  • 25-28 - Зарезервировано; не используется.
  • 29 - Определяет контекстный код. Для сообщения WM_KEYUP это значение всегда 0.
  • 30 - Определяет предыдущее состояние клавиши. Для сообщения WM_KEYUP это значение всегда 1.
  • 31 - Определяет переходное состояние. Для сообщения WM_KEYUP это значение всегда 1.

Возвращаемые значения
Прикладная программа должна возвратить нуль, если она обрабатывает это сообщение.

Действие по умолчанию
Если клавиша F10 или ALT была отпущена, функция DefWindowProc посылает сообщение WM_SYSCOMMAND окну верхнего уровня. Параметр wParam сообщения устанавливается в SC_KEYMENU.

Замечания
Для усовершенствованных 101- и 102-клавишных клавиатур, дополнительными клавишами являются - правая ALT и правая CTRL в основной части клавиатуры; INS, DEL, HOME, END, PAGE UP, PAGE DOWN и клавиши курсора в группах слева от цифровой клавиатуры; делитель (/) и клавиши ENTER в цифровой клавиатуре. Другие клавиатуры могут поддерживать бит дополнительной клавиши в параметре lKeyData.

Смотри также: DefWindowProc, WM_KEYDOWN, WM_SYSCOMMAND

Размещение и совместимость WM_KEYUP

Windows NTДа 
Win95Да
Win32sДа
Импортируемая библиотека-
Заголовочный файлwinuser.h
UnicodeНет
Замечания по платформеНе имеется

 

 
« Предыдущая статья   Следующая статья »