C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 10.15.3 - Обработка символьных сообщений / Клавиатура. / Win32 API

10.15.3 - Обработка символьных сообщений

Оконная процедура принимает символьное сообщение тогда, когда функция TranslateMessage транслирует код виртуальной клавиши соответствующий клавише знака. Символьными сообщениями являются WM_CHAR, WM_DEADCHAR, WM_SYSCHAR, и WM_SYSDEADCHAR. Типичная оконная процедура игнорирует все символьные сообщения кроме WM_CHAR. Функция TranslateMessage генерирует сообщение WM_CHAR тогда, когда пользователь нажимает какую-либо из следующих клавиш.

Любую символьную клавишу
BACKSPACE
ENTER (перевод каретки)
ESC
SHIFT+ENTER (перевод строки)
TAB

Когда оконная процедура принимает сообщение WM_CHAR, она должна проверить код буквы, который сопровождает сообщение, чтобы установить, как обрабатывать символ. Код буквы находится в параметре wParam сообщения.

Следующий пример показывает общую схему оконной процедуры, где типичная прикладная программа используется для приема и обработки символьных сообщений.

case WM_CHAR:
switch (wParam)
{
case 0x08:
	.
	. /* Обработка BACKSPACE . */
	.
	break;

case 0x0A:
	.
	. /* Обработка перевода строки. */
	.
	break;

case 0x1B:
	.
	. /* Обработка Esc. */
	.
	break;

case 0x09:
	.
	. /* Обработка табуляции TAB. */
	.
	break;

case 0x0D:
	.
	. /* Обработка перевода каретки. */
	.
	break;

default:
	.
	. /* Обработка воспроизводимых символов. */
	.
	break;
}

| |
Автор Владимир Соковиков.
[AD]