代码之家  ›  专栏  ›  技术社区  ›  Edward Strange

MFC:处理帧或应用程序中的字符事件

  •  0
  • Edward Strange  · 技术社区  · 15 年前

    • 在侦听该键的控件中,我希望该控件处理它。
    • 在不关心该键的控件中,我希望将其传递给中心小部件。

    在WX中,我可以通过重写应用程序中的ProcessEvent来使用escape键执行此操作。然后我告诉应用程序库尝试处理它(它会将事件发送到控件以尝试处理),如果没有,我会将其发送到正确的小部件。

    我好像在MFC里找不到围栏。似乎字符事件永远不会从窗口树发送到父级或应用程序。我能做什么?

    1 回复  |  直到 15 年前
        1
  •  1
  •   flashk    15 年前

    你应该能截获所有 WM_KEYDOWN 重写消息 CWinApp::PreTranslateMessage 在你的CWinApp派生类中。

    例子:

    BOOL CMyApp::PreTranslateMessage(MSG* pMsg)
    {
        if ( pMsg->message == WM_KEYDOWN ) {
            // Do something special with this message
        }
    
        return CWinApp::PreTranslateMessage(pMsg);
    }