Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Win API


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / WinAPI

Выпуск № 266
от 01.07.2006, 11:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 349, Экспертов: 31
В номере:Вопросов: 1, Ответов: 2


Вопрос № 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


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.34 от 01.06.2006
Яндекс Rambler's Top100

В избранное