CDialog::EndDialog
调用此成员函数终止一个模式对话框。
void EndDialog(
int nResult
);
参数
- nResult
包含从对话框中返回的值相加 DoModal的调用方。
备注
此成员函数返回 nResult,DoModal的返回值。必须使用 EndDialog 功能完成处理,只要有模式对话框创建。
可以在+任何+时间调用 EndDialog,即使在 OnInitDialog,则应关闭对话框情况下,在显示之前,或者在输入焦点设置之前。
EndDialog 不立即关闭对话框。相反,它将处理对话框关闭的标志,在当前消息处理程序返回。
示例
void CMyDialog::OnMenuShowSimpleModal()
{
CSimpleDlg myDlg;
INT_PTR nRet = myDlg.DoModal();
if (nRet == IDOK || nRet == 5)
AfxMessageBox(_T("Dialog closed successfully"));
}
void CSimpleDlg::OnRButtonUp(UINT nFlags, CPoint point)
{
UNREFERENCED_PARAMETER(nFlags);
// Do something
int nRet = point.x; // Just any value would do!
EndDialog(nRet); // This value is returned by DoModal!
// Do something
return; // Dialog closed and DoModal returns only here!
}
要求
Header: afxwin.h