Работа с клавиатурой - Обработка буквенных сообщений
ОГЛАВЛЕНИЕ
Страница 4 из 6
Обработка буквенных сообщений
Если функция 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:
// возврат каретки (Enter).
break;
default:
// Обрабатываем остальные отображаемые символы.
break;
}