Сообщение WM_CHAR посылается окну с фокусом клавиатуры тогда, когда функцией TranslateMessage транслируется сообщение WM_KEYDOWN. WM_CHAR содержит код буквы клавиши, которая была нажата.
Синтаксис
WM_CHAR chCharCode = (TCHAR) wParam; // код буквы lKeyData = lParam; // данные на клавишу
Параметры
chCharCode
Значение wParam. Определяет код буквы клавиши.
lKeyData
Значение lParam. Определяет счет повторений, скэн-код, флажок дополнительной клавиши, контекстный код, флажок предыдущего состояния клавиши и флажок переходного состояния, как показано в следующем списке:
Возвращаемые значения
Прикладная программа должна возвратить нуль, если она обрабатывает это сообщение.
Замечания
Поскольку не имеется обязательного соответствия один к одному между нажатыми клавишами и сгенерированными символьными сообщениями, информация в старшем слове параметра lKeyData вообще-то бесполезна для прикладных программ. Информация в старшем слове применяется только к самому последнему сообщению WM_KEYDOWN, которое предшествует регистрации сообщения WM_CHAR.
Для усовершенствованных 101- и 102-клавишных клавиатур, дополнительными клавишами являются правая ALT и правая CTRLINS, DEL, HOME, END, PAGE UP, PAGE DOWN и клавиши курсора в группах слева от цифровой клавиатуры; делитель (/) и клавиши ENTER в цифровой клавиатуре. Некоторые другие клавиатуры могут поддерживать бит дополнительной клавиши в параметре lKeyData.
Смотри также
TranslateMessage, WM_KEYDOWN
Размещение и совместимость WM_CHAR
Windows NT Да Win95 Да Win32s Да Импортируемая библиотека - Заголовочный файл winuser.h Unicode Нет Замечания по платформе Не имеется