如何关闭子窗口中的模态子窗口

WANGHUIJUNSHIWO 2011-01-26 12:57:23
有一个主窗口1,
打开一个子窗口2,
子窗口2又打开一个模态子窗口!
请问如何在关闭窗口1时,关闭窗口2和窗口3!

主窗口1代码操作
CHostItemDefDlg m_HostItemDef = new CHostItemDefDlg();
m_HostItemDef->Create(IDD_HOST_ITEMDEF_DIALOG, GetDesktopWindow());
m_HostItemDef->ShowWindow(SW_SHOW);
子窗口2代码操作
CHostItemDefAddDlg MDlg(this);
MDlg.DoModal();
...全文
129 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq394384763 2011-01-26
  • 打赏
  • 举报
回复
主窗口1
的PostNcDestroy()方法中执行m_HostItemDef->DestroyWindow();就可以了!
qq394384763 2011-01-26
  • 打赏
  • 举报
回复
主窗口1
onClose操作
m_HostItemDef->DestroyWindow();
是有错的不能添加
qq394384763 2011-01-26
  • 打赏
  • 举报
回复
窗体可以关闭了,但是有内存泄露怎么办?
代码是这样的?
主窗口1定义变量CHostItemDefDlg m_HostItemDef
onClose操作
m_HostItemDef->SubEndClose();
m_HostItemDef->EndDialog(TRUE);
子窗口2定义变量 CHostItemDefAddDlg* pDlg;
添加方法
void CHostItemDefDlg::SubEndClose(){
pDlg->EndDialog(TRUE);
pDlg->DestroyWindow();
}
执行以上操作后提示m_HostItemDef有内存泄露
江南烟雨梦 2011-01-26
  • 打赏
  • 举报
回复
因為子窗口DoModal了,所以要先关闭MDlg,可以发WM_CLOSE消息..

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧