#c #mfc
#c #mfc
Вопрос:
Итак, я создаю приложение MFC, которое обрабатывает несколько разных сообщений и будет отображать разные выходные данные в зависимости от того, какое сообщение было обработано. Итак, прямо сейчас у меня есть тот, который обрабатывает WM_KEYDOWN
сообщение и отображает вывод этого сообщения. Теперь у меня также есть один, который обрабатывает WM_RBUTTONDOWN
, и я хочу, чтобы он запустил игру Brick Breaker, которую я создаю. Проблема, с которой я сталкиваюсь, заключается в том, что после ввода WM_RBUTTONDOWN
я хочу отключить определенные клавиши, чтобы я мог управлять веслом без вызова WM_KEYDOWN
.
TL: DR Как отключить определенные ключи из WM_KEYDOWN
in MFC.
Ответ №1:
Вы можете переопределить PreTranslateMessage
просмотр и обход сообщения до того, как MFC выполнит преобразование карты сообщений.
Комментарии:
1. Итак, что действительно нужно было сделать, так это переопределить
PreTranslateMessage
, а затем добавить некоторые ускорители в класс для виртуальных клавиш для клавиш со стрелками влево и вправо.
Ответ №2:
Вам не нужно отключать ключи в вашем приложении. Когда другая программа имеет фокус, все входные данные должны поступать в эту программу.
Ответ №3:
Вы захотите переслать интересующие вас ключи в код, который управляет вашим объектом.
Ответ №4:
Вам не нужно отключать ключи. Это просто зависит от вашего кода, чтобы решить, обрабатывать или нет ключ в зависимости от состояния приложения.