CFileDialog对象的父亲窗口设为this DoModal后,该程序的其它窗口(非CFileDialog对象的父窗口)鼠标消息正常,但无法响应键盘Enter和上下左右键的消息,其它键盘消息如abcd等消息可以响应。在PreTranslateMsg中也没有能够截获Enter和上下左右键消息,请问一下这是什么原因?
DoModal后不应该只是其父窗口无法捕获键盘和鼠标消息么,为什么该程序的其它窗口也会出现这种现象呢

解决方案 »

  1.   

    不响应的窗口非CFileDialog的父窗口。
      

  2.   

    CFileDialog 截获了吗?试试
      

  3.   

    用Spy++抓了一下,没有被截取,但是Enter键被识别成了WM_CHAR消息,但是ASCII码还是13。
      

  4.   

    例如IM主界面和聊天对话框,在聊天对话框上点击发送文件弹出CFileDialog(父窗口设为聊天对话框),这时候IM的主界面就无法响应键盘的Enter和上下键等消息
      

  5.   

    是的,不过其它两个窗口的一般消息还响应,只是不Enter等个别消息