Операционная система Microsoft Windows 3.1 для программиста -том 1


Символьные клавиатурные сообщения - часть 2


Такие дополнительные клавиши называются "мертвыми" клавишами, так как они не образуют символов, а лишь изменяют действие следующей нажимаемой клавиши. Эти клавиши определяются на основе информации об используемом национальном алфавите.

Если после "мертвой" клавиши была нажата правильная, обычная клавиша (не все символы могут иметь диакритические знаки), в очередь приложения помещаются два сообщения - WM_DEADCHAR и WM_CHAR. Последнее в параметре wParam передает ANSI-код введенного символа, имеющего диакритический знак.

Если после "мертвой" клавиши была нажата клавиша, соответствующая символу, который не может иметь диакритического знака, то в очередь приложения после сообщения WM_DEADCHAR будут записаны два сообщения WM_CHAR. Первое сообщение будет соответствовать коду "мертвой" клавиши, интерпретированному как код символа, второе - коду клавиши, нажатой после "мертвой".

Поэтому приложению достаточно обрабатывать только сообщение WM_CHAR, игнорируя сообщение WM_DEADCHAR (за исключением тех случаев, когда после нажатия "мертвой" клавиши на экране необходимо отобразить диакритический знак). Параметр wParam сообщения WM_CHAR будет содержать правильный ANSI-код символа, учитывающий использование "мертвых" клавиш.




Начало  Назад  Вперед



Книжный магазин