Вопрос № 47329: В PreTranslateMessage(MSG* pMsg) поймал сообщение
pMsg->message == WM_KEYDOWN
Как узнать какой символ ввели (именно символ, а не виртуальную клавишу)?
Нужно в зависимости от символа запретить дальнейшую обработку или разрешить....
Вопрос № 47.329
В PreTranslateMessage(MSG* pMsg) поймал сообщение
pMsg->message == WM_KEYDOWN
Как узнать какой символ ввели (именно символ, а не виртуальную клавишу)?
Нужно в зависимости от символа запретить дальнейшую обработку или разрешить...
Отправлен: 26.06.2006, 11:02
Вопрос задал: Zitz (статус: Студент)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 5)
Отвечает: gitter
Здравствуйте, Zitz!
Код символа нажатой клавиши хранится в wparam принятого сообщения
if (pMsg->message==WM_KEYDOWN)
{
char ch=(char)pMsg->wParam;
// TRACE("%c",ch);
}
Удачи!
Ответ отправил: gitter (статус:
10-ый класс)
Ответ отправлен: 26.06.2006, 11:12 Оценка за ответ: 2 Комментарий оценки: См.
минифорум
Отвечает: X-MAN
Здравствуйте, Zitz!
Я очень сомневаюсь, что при помощи сообщения WM_KEYDOWN можно узнать символ. Если вы хотите узнать символ, нужно отлавливать
сообщение WM_CHAR, которое обычно следует сразу за WM_KEYDOWN. Хотя в вашем случае это вряд ли будет иметь смысл, т.к. WM_KEYDOWN
уже уйдёт на обработку (или будет блокировано).
--------- Оптимисты начинают день с имунеле, реалисты - с кофе, а пессимисты - с водки!
Ответ отправил: X-MAN (статус: 7-ой
класс)
Ответ отправлен: 26.06.2006, 11:45