Работа с клавиатурой
Страница 4. Обработка буквенных сообщений


 

Обработка буквенных сообщений

Если функция 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;
}

 
« Предыдущая статья   Следующая статья »