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


Сообщение WM_SYSCHAR

Сообщение WM_SYSCHAR посылается окну с фокусом клавиатуры тогда, когда сообщение WM_SYSKEYDOWN оттранслировано функцией TranslateMessage. Оно определяет код буквы системной клавиши - то есть клавиши знака, которая была нажата одновременно с клавишей ALT.

Синтаксис

WM_SYSCHAR
chCharCode = (TCHAR) wParam;// код буквы
lKeyData = lParam;// данные на клавишу

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

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

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

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

Смотри также
TranslateAccelerator, TranslateMessage, WM_SYSKEYDOWN

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

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

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