2010-08-15 25 views
0

有沒有辦法確保所有WM_KEYDOWN事件都可以進入我的主窗口,而不管誰關注?這主要是針對全局的東西,例如Delete,以及諸如CTRL A和CTRL S之類的熱鍵。問題是如果另一個控件具有焦點,則所有這些都停止工作。有沒有比將它們放在我的主窗口的WM_KEYDOWN事件中更好的方法?確保所有關鍵事件都發送到主窗口?

謝謝

回答

0

是的,你在你的消息循環中執行它。在傳統消息循環具有TranslateAccelerator()調用的確切位置。它執行相同的操作,捕捉快捷鍵並將其轉換爲WM_COMMAND消息。一個典型的類庫通過一個「PreProcessMessage」方法實現它。