Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Перехват сообщений дочерних окон


Автор: User008 29.8.2010, 22:00
Нужно сделать обработку нажатия клавиш, но её нажатие посылается фокусированному контролу. Как сделать, чтобы независимо от выделенного контрола, обрабатывалось событие?

Автор: Earnest 30.8.2010, 15:41
Стандартное место для этого - PreTranslateMessage родительского окна. Лови WM_KEYDOWN, проверяй фокус (или не проверяй, если всегда-всегда, но тогда редакторы работать не будут) и вперед. Логично связать команды с клавишами в таблицу акселераторов, тогда нужно будет просто вызвать TranslateAccelerator(). Но можно и руками проверять что за клавиша и какую команду выполнить.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)