Win32 API. Быстрые клавиши
Страница 27. Сообщение 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Нет
Замечания по платформеНе имеется

 
Следующая статья »