2010-08-15 58 views
0

有没有办法确保所有WM_KEYDOWN事件都可以进入我的主窗口,而不管谁关注?这主要是针对全局的东西,例如Delete,以及诸如CTRL A和CTRL S之类的热键。问题是如果另一个控件具有焦点,则所有这些都停止工作。有没有比将它们放在我的主窗口的WM_KEYDOWN事件中更好的方法?确保所有关键事件都发送到主窗口?

谢谢

回答

0

是的,你在你的消息循环中执行它。在传统消息循环具有TranslateAccelerator()调用的确切位置。它执行相同的操作,捕捉快捷键并将其转换为WM_COMMAND消息。一个典型的类库通过一个“PreProcessMessage”方法实现它。