Работа с клавиатурой Страница 4. Обработка буквенных сообщений
|
Страница 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; } |