就是永远执行不到。

解决方案 »

  1.   

    PreTranslateMessage函数在继承自CView类的一个类中。
      

  2.   

    你是不是做的一个Modelless的Dialog?
    原因有二:
    1. 主消息循环在EXE,而不在DLL中
    2. Dialog的句柄在DLL的AFX_MODULE_STATE->HandleMap句柄表而不在EXE的AFX_MODULE_STATE中
    解决方法也有两种:
    1. 让EXE的PreTranslateMessage调用DLL的CWinApp::PreTranslateMessage,可以在DLL中输出一个函数来做这件事情
    2. 用消息钩子,在消息钩子函数中调用目标窗口的PreTranslateMessage
      

  3.   

    非常感谢ATField(field),我使用你的第二中方法解决了问题。