我的对话框弹出来时,为什么按一下回车键就会撤消,怎样做才不会,急用,一定给分

解决方案 »

  1.   

    OnOK的缺省处理,可以屏蔽掉回车键或去掉IDOK的按钮BOOL CCXXX::PreTranslateMessage(MSG* pMsg) 
    {
        if(pMsg->message == WM_KEYDOWN)
        {
            switch(pMsg->wParam)
            {
            case VK_RETURN://屏蔽回车
                return TRUE;
            }
        }
        return CDialog::PreTranslateMessage(pMsg);

      

  2.   

    同意楼上的。
    或者你将OK按钮的ID改为其他的(非IDOK)
      

  3.   

    可以将 CDialog::OnOk();注释掉,还有就如同 studentforever(鸭蛋) 所言
      

  4.   

    来晚了一步这是VC缺省的设置,就是默认了按回车键就响应ONOK按钮的动作。
      

  5.   

    CDialog的OnOK()和OnCancel()是两个虚函数,缺省的处理是在接收到Enter键或者ESC键的时候分别调用CDialog的EndDialog(IDOK)或者EndDialog(IDCANCEL)来关闭对话框。去掉这个功能的最简单办法就是重载这两个函数,让他们什么也不作就行了:void CYourDialog::OnOK()
    {
    }void CYourDialog::OnCancel()
    {
    }