CDialog::DoModal方法所返回的值来可以来自EndDialog(int nResult),如
// MyWnd.cpp
#include "MyDialog.h"
void CMyWnd::ShowDialog()
{
CMyDialog myDlg;
int nRet = myDlg.DoModal();
if ( nRet == IDOK || nRet == 5 )
AfxMessageBox("Dialog closed successfully");
}
// MyDialog.cpp
void CMyDialog::OnSomeAction()
{
// Do something
int nRet = 5; // Just any value would do!
EndDialog(nRet); // This value is returned by DoModal!
// Do something
return; // Dialog closed and DoModal returns only here!
}
还可以来自OnOk、OnCancel,所以可以重写OnOk和OnCancel
本文介绍了CDialog::DoModal方法的返回值来源及其应用。详细解释了如何通过EndDialog设置返回值,并展示了如何通过重写OnOk和OnCancel来影响DoModal的返回结果。
1371

被折叠的 条评论
为什么被折叠?



