MFC子窗口与父窗口的跳转\隐藏和销毁程序

以下是个人总结,如有错误之处,还望各位大佬见谅,希望各位指出我的不足之处。

一,如何从父窗口跳转到子窗口且隐藏主窗口

创建如下对话框(dialog)

按钮在那个窗口,就在那个窗口添加类,

在新创建的类的头文件(.h 文件)引用目标窗口的的头文件(.h 文件)。并生成一个指针。

//我这里目标头文件如下
#include"DlgParticulars.h"
private:
    CDlgParticulars *m_wndPartPage;

 并为Button添加一个点击事件(或者直接双击按钮即可生成),在里面添加如下代码,即可跳转到目标窗口,且隐藏主窗口

void CDlgCommSetting::OnBnClickedbuttonOpen()
{
	// TODO: 在此添加控件通知处理程序代码
    //跳转窗口 并显示
		m_wndPartPage = new CDlgParticulars;
		m_wndPartPage->Create(IDD_DIALOG_FUNCTION,this);
		m_wndPartPage->ShowWindow(SW_SHOW);
        //隐藏主窗口
		GetParent()->ShowWindow(SW_HIDE);
}

 二、子窗口关闭且整个程序结束,并提示用户是否退出。

其他步骤如上,关闭整个程序需添加一个消息,在类向导里面添加WM_CLOSE

在添加的消息处理程序里面添加如下代码即可实现,在子窗口关闭是结束整个程序。并提示用户是否退出。

void CDlgParticulars::OnClose()
{
	int mClose = MessageBox(_T("确定要退出程序吗?"), _T("退出提醒"), MB_YESNO);
	if (mClose==IDYES)
	{
		CDialogEx::OnClose();
		//退出程序
		GetParent()->DestroyWindow();
	}
	else
	{
		return ;
	}
	// TODO: 在此添加消息处理程序代码和/或调用默认值
}

 效果如下单击后提示用户是否退出程序yes(退出程序)no(退出当前对话框并保留程序):

  • 0
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值