在 MFC(Microsoft Foundation Classes)中,CDialog::EndDialog 是一个用于结束模态对话框的公共方法。这个方法会将对话框的模态循环退出,并返回指定的结果代码。

以下是 CDialog::EndDialog 的声明:
void EndDialog(int nResult);

  •  nResult 参数表示对话框的结果代码。通常,IDOK 表示用户点击了“确定”按钮,而 IDCANCEL 表示用户点击了“取消”按钮。你也可以使用其他自定义的结果代码。


以下是一个示例,演示如何在对话框的按钮处理函数中使用 EndDialog:
// 在对话框的按钮处理函数中使用 EndDialog
void CMyDialog::OnOK()
{
    // 在这里执行对话框确定按钮的处理逻辑

    // 结束对话框并返回 IDOK 作为结果代码
    EndDialog(IDOK);
}

void CMyDialog::OnCancel()
{
    // 在这里执行对话框取消按钮的处理逻辑

    // 结束对话框并返回 IDCANCEL 作为结果代码
    EndDialog(IDCANCEL);
}

在这个示例中,OnOK 和 OnCancel 是对话框类中的默认处理函数,它们分别与确定按钮和取消按钮相关联。当用户点击确定或取消按钮时,这些函数被调用,并通过调用 EndDialog 来结束对话框。

需要注意的是,EndDialog 会使模态对话框的消息循环退出,允许程序继续执行下去。如果你使用的是非模态对话框,可以考虑使用 CDialog::DestroyWindow 方法来关闭对话框。


转载请注明出处:http://www.zyzy.cn/article/detail/17331/MFC/CDialog