一个窗口是这么创建的 CWnd *pWnd = GetDesktopWindow();
m_pWindow->Create(IDD, pWnd);想响应按键消息,于是重载PreTranslateMessage,断点发现,根本就不进来?怎么回事?

解决方案 »

  1.   

    GetForegroundWindow()返回的值和你的窗体的值做比较就知道了。
      

  2.   

    应该没有问题,另外
    你两个对话框创建的样式是一样的,你Create指定的IDD应该是你当前对话框类的ID吧
      

  3.   

    WindowProc里面打印了,是相等的。
      

  4.   

    我先说说,怎么创建的吧,MainFrm里面先创建Dlg1,直接Create,然后Dlg1上点击按钮创建Dlg2,非模态。两个窗口都重写了PreTranslateMessage,但是断点发现,直接在创建的时候,都要进入,然后后面任何操作,都不进来了,这是怎么回事。
      

  5.   

    PreTranslateMessage断点会进来,不过是在对话框创建的时候,然后就再不进断点了,比如说按键,什么的。