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