版权声明:本文为博主原创文章,未经博主允许不得转载,博客地址:http://blog.csdn.net/mars_xiaolei。 https://blog.csdn.net/mars_xiaolei/article/details/86085776
问题描述
当MFC应用程序的主对话框有其他功能需要,但不能显示在主对话框时,通常会通过点击一个功能按钮弹出一个字对话框来实现。最常见的就是登录界面,点击登录按钮,然后弹出一个登录对话框让你输入登录信息,输完信息之后点击立即登录按钮,对话框消失,又回到主界面。
MFC添加子对话框
1、选中项目名称,点击鼠标右键,依次选择添加、资源
2、进入到添加资源界面,选择Dialog(也就是对话框),点击新建按钮,一个子对话框就添加完成了,然后可以去属性页面修改对话框的标题和ID,这两项是比较重要的,同时你可以在子对话框上添加各种控件。
添加子对话框类
1、添加完子对话框之后,还需要添加子对话框类,用于添加执行子对话框的相应操作的代码,选中子对话框,点击鼠标右键,选择“添加类”
2、进入MFC添加类向导页面,只需要输入类名就行了,假设类名为ProjectConfig,头文件和源文件名称会自动填写,然后点击完成按钮,子对话框类就添加完成了
主窗口通过点击按钮弹出子对话框
创建完子对话框类之后,你还需要通过点击主对话框按钮弹出子对话框,回到主对话框源代码,添加子对话框的头文件,然后创建一个类对象,添加代码如下,仅供参考:
1、添加头文件
#include "ProjectConfig.h"
2、添加代码
void CBookDlg::OnBnClickedButtonNewproject()
{
// TODO: 在此添加控件通知处理程序代码
INT_PTR nRes;// <用于保存DoModal函数的返回值>
ProjectConfig projectConfigDlg;
nRes = projectConfigDlg.DoModal();
if (IDOK == nRes)// <判断对话框退出后返回值是否为IDOK,则继续向下执行,否则继续向下执行>
{
//此处添加点击子对话框确认按钮之后要执行的代码
}
}
3、点击主对话框按钮弹出项目配置子对话框