MFC 返回上一级对话框

   日期:2020-08-20     浏览:99    评论:0    
核心提示:当使用在一个对话框A(父对话框)内打开另一个对话框B(子对话框),如何实现父对话框的隐藏,然后当子对话框关闭时,如何将子对话框关闭的同时打开隐藏的父对话框?在父对话框中创建并显示子对话框,同时隐藏父对话框:void Student_Login::OnBnClickedButtonCc(){ // TODO: 在此添加控件通知处理程序代码 ChooseCourse *m_dlg = new ChooseCourse(this); m_dlg->Create(IDD_DIALOG_COURSE

当使用在一个对话框A(父对话框)内打开另一个对话框B(子对话框),如何实现父对话框的隐藏,然后当子对话框关闭时,如何将子对话框关闭的同时打开隐藏的父对话框?

在父对话框中创建并显示子对话框,同时隐藏父对话框:

void Student_Login::OnBnClickedButtonCc()
{
	// TODO: 在此添加控件通知处理程序代码
	ChooseCourse *m_dlg = new ChooseCourse(this);
	m_dlg->Create(IDD_DIALOG_COURSE, this);

	//隐藏本对话框
	this->ShowWindow(SW_HIDE);

	//显示子对话框
	m_dlg->ShowWindow(SW_SHOW);
}

在子对话框中关闭子对话框同时显示出父对话框:
1、首先定义一个全局变量CWnd *m_pParent来保存从父对话框传过来的父对话框窗口句柄。

private:
	CWnd *m_pParent;

2、在子对话框类的构造函数中将父对话框传过来的父对话框窗口句柄保存到m_pParent中。

ChooseCourse::ChooseCourse(CWnd* pParent )
	: CDialogEx(IDD_DIALOG_COURSE, pParent)
{
	m_pParent = pParent;
}

3、在子对话框函数中显示父对话框,同时关闭子对话框:

void ChooseCourse::OnBnClickedButtonBack1()
{
	// TODO: 在此添加控件通知处理程序代码
	m_pParent->ShowWindow(SW_SHOW);

	DestroyWindow();
	delete this;
}

大功告成!!!

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服