画面构成:
两个DIALOG A,B。 B是A的子窗口。
当焦点在B上面的时候,如何使用A窗口上的快捷键。觉得应该在B窗口的PreTranslateMessage里面处理,但是试了一些方法都没有实现。谢谢

解决方案 »

  1.   

    使用全局热键就不会有这样的问题了if(FALSE == RegisterHotKey(GetSafeHwnd(), 1500, NULL, VK_F2))
      AfxMessageBox("注册热键失败!");UnregisterHotKey(GetSafeHwnd(), 1500);处理消息WM_HOTKEYafx_msg void OnHotKey(WPARAM wParam, LPARAM lParam);
    ON_MESSAGE(WM_HOTKEY, OnHotKey)
    void CXXX::OnHotKey(WPARAM wParam, LPARAM lParam)
      

  2.   

    if(Msg->message==要截获的消息)
    {
    AfxGetMainWnd()->PostMessage(要截获的消息);
    return;
    }
       
                
      

  3.   

    除了全局HOTKEY就没有办法了吗?
      

  4.   

    使用HOTKEY感觉很麻烦。
    比如,我子窗口里面有很多CHECKBOX。如果直接使用快捷键的话,这些CHECKBOX会自动选中、非选中。
    如果我在HOTKEY消息里面处理,那情况就有很多了。
      

  5.   

    自己解决了:
    子窗口设置Control Parent属性即可。