我在做一个MFC程序,新建一个对话框资源,上面有5个编辑框,分别用5个变量和这5个编辑框关联,我准备以模态方式调用该对话框,但是我在写OK按钮的响应函数时候遇到问题了。如果我在OK响应函数里面判断这5个变量为空,那我该怎么才可以使对话框再次处于可输入状态,然后再响应OK。因为OnOK是没有返回值的,所以我就不知道怎么处理,向大家请教了

解决方案 »

  1.   

    判断Edit对应的成员变量CString m_edit  IsEmpty是否为TRUE即可
      

  2.   

    不要调用基类的CDialog::OnOk就没啥问题了.
    调用CDialog::OnOk就关闭对话框了
      

  3.   

    我知道如何判断啊。我想问的是,如果我再OK按钮响应函数中判断到其中一个或者多个CString为空,我应该怎么调用函数才可以,使这个对话框重新处于可输入状态,使用户可以输入数据,然后我再在响应OK按钮函数中获取用户输入的数据
      

  4.   

    同上,将CDialog::OnOk注释掉,否则,对话框会被关闭.
      

  5.   

    你可以在OnOk函数里判断字符串是否为空:如果为空,可以先调用GetDlgItem(IDC_EDIT)->SetFocus();把焦点放到为空的那个编辑框里,然后OnOk函数返回false就行了;如果不为空,你就可以调用你想要处理字符串的函数,完了之后返回true。
    可以把基类的CDialog::OnOk去掉不要。
      

  6.   

    这个问题可以考虑这么解决:当你判断为空的时候,再次利用domodal()生成一个窗口就好啦。