MFC-模态对话框和非模态对话框

创建模态对话框:

打开资源视图->插入对话框,如图所示:

然后右键属性添加类,如图所示:
MFC-模态对话框和非模态对话框_第1张图片
然后在主对话框cpp文件中包含它的头文件,如图所示
MFC-模态对话框和非模态对话框_第2张图片
然后在打开模块对话框按钮中写代码

    //创建模态对话框
    CModal d;//这个就是新创建的对话框类
    d.DoModal();

效果如图:
MFC-模态对话框和非模态对话框_第3张图片

然后用同样的方法(从步骤1开始)创建非模态对话框

实现代码:

    //一定得用指针来创建
    CModaless* pD = new CModaless();

    //创建并显示非模态对话框
    pD->Create(IDD_DIALOG_MODALESS, this);
    pD->ShowWindow(SW_SHOW);

new了之后要delete
打开类视图->CModaless类,右键属性->重写->找到PostNcDestroy
如图所示:
MFC-模态对话框和非模态对话框_第4张图片

MFC-模态对话框和非模态对话框_第5张图片

void CModaless::PostNcDestroy()
{ // TODO: 在此添加专用代码和/或调用基类 delete this; CDialogEx::PostNcDestroy(); }

效果如图:

你可能感兴趣的:(mfc,模态对话框,modal,非模态对话框)