在MFC中生成一个对话框程序,我想实现点击cancel按钮后弹出对话框,询问是否真的退出,如果点击取消则返回原对话框。
我加了cancel按钮的消息处理函数,相关想法想必高手们一看就知道了。void CDlgtryDlg::OnCancel() 
{
// TODO: Add extra cleanup here
if (IDCANCEL==MessageBox("询问","询问",MB_OKCANCEL))
{
//怎么处理原来的对话框才不会关闭
}

CDialog::OnCancel();
}
函数是这么加入的,但是无论我把CDialog::OnCancel()函数放在什么地方,原来的对话框都是要关闭的。请问高手,怎么处理才可以在点击弹出来的MessageBox的cancel后,对话框关闭而原来程序不关闭?

解决方案 »

  1.   

    不做判断的,直接加上那几个判断的条件ok,cancel之类的。
      

  2.   

    我懂啦,自己弄明白啦。
    void CDlgtryDlg::OnCancel() 
    {
    // TODO: Add extra cleanup here
    if (IDCANCEL==MessageBox("询问","询问",MB_OKCANCEL))
    {
    //怎么处理原来的对话框才不会关闭 }
    else
    {
    CDialog::OnCancel();
    }
    }
    谢谢进来的朋友,浪费大家时间不好意思啊。
      

  3.   

    你不调用最后的CDialog::OnCancel()不就完了。
    你MessageBox里如果返回的的IDCANCEL,你直接return不就可以了
      

  4.   

    CDialog::OnCancel();这个就是关闭对话框的函数了。