在Dialog上只有一个CEdit控件
为什么我在里面一按回车,程序就退出了怎么才能让对话框不退出?

解决方案 »

  1.   

    在程序进行中不响应ESC,Enter键应该怎么做?
    (isdong发表于2001-8-16 10:42:44)[问题提出]
    对话框程序ESC和ENTER健会导致程序退出,在程序进行中不响应ESC,Enter键应该怎么做?[问题解答]
    BOOL CCXXX::PreTranslateMessage(MSG* pMsg) 
    {
        if(pMsg->message == WM_KEYDOWN)
        {
            switch(pMsg->wParam)
            {
            case VK_RETURN://屏蔽回车
                return TRUE;
            case VK_ESCAPE://屏蔽Esc
                return TRUE;
            }
        }
        return CDialog::PreTranslateMessage(pMsg);
      

  2.   

    注意 控件的OnRetrun 和 多行 选项
      

  3.   

    如何屏蔽按回车自动退出?
    (cqwally和ac952_z_cn发表于2001-8-13 17:48:05)  [问题提出]
      我是VC初学者,遇到不解问题..
      操作系统:WIN98 OR WIN2000
      开发工具:VC6。0
      在VC6中加入对话框,并放入编辑框,运行后,在编辑框中输入一些字母并按回车,程序自动退出,不知为什么??
    对话框中的默认按钮已删除
      [解决方法]
      重载CDialog::OnOK();
      [程序实现]
      假设你已有了名为My的对话框工程.有一个Edit.在资源编辑(ResourceView)中双击此确定按钮,生成MyDlg::OnOK().
      void CMyDlg::OnOK() 
      {
       // TODO: Add extra validation here
       
       //CDialog::OnOK();//此句注释掉.
      } 
      

  4.   

    这个很简单,你在“确定”按钮生成函数:
    XXX::OnOK()
    {
       //OnOK();         注意,注释掉就可以了,呵
    }
      

  5.   

    映射Dialog的OnOk事件
    去掉CDialog::OnOk()的调用,如void CAboutDlg::OnOK() 
    {
    // TODO: Add extra validation here

    //CDialog::OnOK();
    }