Страница 27 из 28
Сообщение 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Нет Замечания по платформеНе имеется |