如何实现在父窗口中弹出子窗口,父窗口关闭,子窗口运行?

美丽海洋 高级工程师  2005-03-19 08:06:23
我要是实现的是:在父窗口中点击某一按钮弹出一个子窗口,这是父窗口关闭,子窗口运行?

谢谢各位!!!
...全文
126 点赞 收藏 8
写回复
8 条回复
wylcy 2005年03月19日
1、重新设置theApp.m_pMainWnd,防止主窗口被关闭时,退出消息循环。
2、映射主窗口的WM_DESTORY消息,并且不要调用CFrameWnd::OnDestroy();

同时
1、子窗口用不要用CDialog类,而用普通窗体类或框架窗体类
2、或者重载OnClose消息,在获得关闭消息时用PostQuitMessage结束程序,防止CDialog默认操作造成窗口被隐藏而无法结束进程。
回复 点赞
jerry 2005年03月19日
显示子窗口前,隐藏父窗口,当子窗口结束的时候父窗口也退出,这样就行了。

void OnBtnShowChild()
{
ShowWindow(SW_HIDE);
CChildDlg dlg;

dlg.DoModal();

CDialog::OnOk();
}

回复 点赞
zhaotao0982 2005年03月19日
你可以将设置子窗口的父窗口为空,然后再退出父窗口,看看行不?
回复 点赞
surstar 2005年03月19日
whs1980(知秋一叶) 的方法简单易行
回复 点赞
juststone 2005年03月19日
你也可以写成两个程序用其中一个以ShellExecute方式打开另一个,然后退出.
回复 点赞
whs1980 2005年03月19日
父窗口关闭可能不行,但是你可以将其隐藏起来,也就达到关闭的效果了
回复 点赞
wshcdr 2005年03月19日
1.封装两个DIALOG类
CDialog1,CDialog2.

2.CDialog1Inst.DoModel

3.响应CDialog1上按纽的OnClick事件,CDialog2Inst.DoModel
回复 点赞
fanqing 2005年03月19日
既然存在父子关系,又怎么能这是父窗口关闭,子窗口运行.
回复 点赞
发动态
发帖子
VC/MFC
创建于2007-09-28

7889

社区成员

42.1w+

社区内容

VC/MFC相关问题讨论
社区公告
暂无公告