我想屏掉对话框的回车关闭窗口的功能,但出现如题所示的问题。
为什么重载ONOK与PreTranslateMessage后,对话框打不开

解决方案 »

  1.   

    BOOL CXXXDlg::PreTranslateMessage(MSG* pMsg)

      if(WM_KEYFIRST <= pMsg->message && pMsg->message <= WM_KEYLAST) 
      {  
        if(pMsg->wParam == VK_RETURN || pMsg->wParam == VK_ESCAPE)   return TRUE;
      }  
      return CDialog::PreTranslateMessage(pMsg);

      

  2.   

    ?  重载CDialog::OnOK就可以了
    ------------------------------
    屏蔽掉CDialog::OnOK的处理应该就可以了.OnColse应该是不受理想的.
      

  3.   

    你的对话框上是不是有Edit框?
      

  4.   

    要是焦点在OK或Cancel按钮上,点回车关闭窗口是正常的如果焦点在Edit框上,点回车也会关闭窗口,不像这样的话,就改写Edit的OnChar()函数,当ch是回车的时候,不做处理
      

  5.   

    如果是按了回车,就不要执行对话框中的CDialog::OnOK就好。
      

  6.   

    为什么重载ONOK与PreTranslateMessage后,对话框打不贴关键代码看看不应该的
    而且两者选一应该就可以解决了吧