请问model对话框一modal就正常退出了是什么原因?
我就这一个modal对话框,在app里面调用:
CXXXDlg dlg;
m_pMainWnd  = &dlg;int nResponse = dlg.DoModal();
if (nResponse == IDOK)
...
else if (nResponse == IDCANCEL)
...
我跟踪的时候发现nResponse即不等于IDOK也不等于IDCANCEL.DoModal的时候马上就返回退出了。Debug框里面显示的也是has exited with code 0(0x0).

解决方案 »

  1.   

    DoModal应该启动你的对话框,如果你不退出对话框的话,DoModal就不会结束,因此也不会有nResponse这个返回值。现在看来是DoModal不管用,并没有启动对话框,应该是你的对话框有问题。看看初始化函数有没有问题。加断点进行调试吧
      

  2.   

    有可能是 OnInitDialog返回 FALSE 了
      

  3.   

    对话框退出前调用了EndDialog( int nResult ),参数nResult就是DoModal最后的返回值,你可以在你的对话框里调用EndDialog来关闭它,而且你可以指定它的返回值,所以它并不一定是IDOK或IDCANCEL
      

  4.   

    问题出在CXXXDlg,你可以自己定义IDOK和IDCANCEL(在CXXXDlg中),
    而且CXXXDlg结束时应以EndDialog(IDOK)和EndDialog(IDCANCEL)结束,
    然后在APP中判断就应该可以了!
      

  5.   

    问题解决了,是我用了CRichEditCtrl但是没有Init