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