MFC弹出模拟对话框

时间:2024-05-27 12:04:20

  Windows对话框分为两类:模态对话框和非模态对话框。

  模态对话框是这样的对话框,当它弹出后,本应用程序其他窗口将不再接受用户输入,只有该对话框响应用户输入,在对它进行相应操作退出后,其他窗口才能继续与用户交互。  非模态对话框则是,它弹出后,本程序其他窗口仍能响应用户输入。非模态对话框一般用来显示提示信息等。

接下用用VS2010创建示例:

1、新建MFC应用程序:

MFC弹出模拟对话框

2、在MFC应用程序向导中设置应用程序类型为“基于对话框”类型:

MFC弹出模拟对话框

然后,后面直接默认,点击完成即可;

3、编辑DialogEx对话框如下所示:

MFC弹出模拟对话框

4、在资源视图中添加模拟对话框:

MFC弹出模拟对话框

选中DialogEx.rc右键选择添加对话框操作:

MFC弹出模拟对话框

添加完效果如图所示,可以在Dialog资源视图中看到有个新加的对话框:

MFC弹出模拟对话框

5、编辑Dialog对话框内容:

MFC弹出模拟对话框

6、为Dialog对话框添加类:(右击->添加类):

MFC弹出模拟对话框

在此命名为CMyDialog;

7、回到主对话框IDD_DIALOGEX_DIALOG为“弹出模拟对话框”添加按钮点击的事件处理程序:

在函数void CDialogExDlg::OnBnClickedButton1()中添加如下代码:

INT_PTR nRes;             // 用于保存DoModal函数的返回值   

CMyDialog myDlg;           // 构造对话框类CMyDialog的实例
nRes = myDlg.DoModal(); // 弹出对话框

并且在DialogExDlg.cpp中包含包含CMyDialog的头文件:#include "MyDialog.h",保存后,即可查看运行效果;

8、运行:

MFC弹出模拟对话框