Страница 8 из 17
Несистемные символьные сообщения Оконная процедура может принимать четыре различных символьных сообщения, включая WM_CHAR, WM_DEADCHAR, WM_SYSCHAR и WM_SYSDEADCHAR. Функция TranslateMessage генерирует сообщение WM_CHAR или WM_DEADCHAR тогда, когда она обрабатывает сообщение WM_KEYDOWN. Точно так же она генерирует сообщение WM_SYSCHAR или WM_SYSDEADCHAR тогда, когда обрабатывает сообщение WM_SYSKEYDOWN. Прикладная программа, которая обрабатывает ввод информации с клавиатуры обычно, игнорирует все, кроме сообщения WM_CHAR, посылая любые другие сообщения функции DefWindowProc. Windows использует сообщения WM_SYSCHAR и WM_SYSDEADCHAR, чтобы осуществлять мнемонику меню. Параметр wParam всех символьных сообщений содержит код буквы клавиши, которая была нажата. Значение кода буквы зависит от класса окна, принимающего сообщение. Если функция RegisterClass была использована, чтобы зарегистрировать класс окна в версии Уникода, система предоставляет символы Unicode всем окнам этого класса. И напротив, система предоставляет коды букв ASCII из набора символов Windows. Для получения дополнительной информации об Уникоде, см. Уникод и наборы символов. Содержание параметра lParam символьного сообщения идентично содержанию параметра lParam сообщения о нажатии клавиши, которое было оттранслировано, чтобы произвести символьное сообщение. За информацией о содержании параметра lParam, см. Флажки сообщения о нажатии клавиши. |