社区
界面
帖子详情
如果在创建对话框时保存了它的指针,在对话框中DestroyWindow后,之前保存的指针还要释放吗?
lovev8
2006-10-12 07:25:53
例如:
m_pMydlg = new Mydlg(); //m_pMydlg是已声明的公用成员变量
...
对话框的按钮中用:
this->DestroyWindow();
程序要退出时需不需要delete m_pMydlg ?
...全文
144
1
打赏
收藏
如果在创建对话框时保存了它的指针,在对话框中DestroyWindow后,之前保存的指针还要释放吗?
例如: m_pMydlg = new Mydlg(); //m_pMydlg是已声明的公用成员变量 ... 对话框的按钮中用: this->DestroyWindow(); 程序要退出时需不需要delete m_pMydlg ?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zengwenfu
2006-10-12
打赏
举报
回复
要,
非模态
对话框
的
指针
释放
的理解
文章探讨了非模态
对话框
在父子
对话框
结构
中
可能出现的内存泄漏问题,强调了
指针
释放
的重要性。通过测试发现,直接在子
对话框
的On
Destroy
()
中
使用`delete this`会导致错误,而应在父窗口的On
Destroy
()
中
删除子
对话框
指针
。同
时
,
指针
不能重复delete,而窗口可以多次调用
Destroy
Window
()。对于类内删除自身对象的情况,建议发送消息给父窗口处理。
创建
非模态
对话框
释放
内存的问题
本文讨论了非模态
对话框
的内存管理和销毁问题。针对只打开一次和可重复打开的
对话框
,提供了不同的处理策略。对于前者,需要在OnCancel
中
调用
Destroy
Window
并在PostNc
Destroy
中
delete
指针
;对于后者,应
保存
对话框
指针
并在父窗口On
Destroy
时
遍历销毁。同
时
指出,KillTimer不应在析构函数
中
调用,因为窗口句柄已失效。
Win32:
对话框
创建
本文围绕Win32
对话框
创建
展开,介绍了
对话框
原理,包括普通窗口与
对话框
窗口处理函数调用方式的区别,以及模式和无模式
对话框
的特点。详细阐述了模式和无模式
对话框
的
创建
、关闭方法及相关消息,还给出了核心代码示例,涉及
对话框
窗口处理函数和
创建
对话框
的代码。
Destroy
Window
本文详细解析了MFC
中
窗口对象的销毁流程,包括单窗口和含有子窗口的情况,探讨了
Destroy
Window
与delete操作的关系及如何正确
释放
资源。
[MFC] 模态与非模态
对话框
的
创建
与销毁机制详解
本文深入剖析MFC
中
模态与非模态
对话框
的核心机制:模态
对话框
依赖DoModal()阻塞执行并自动管理资源,其销毁由EndDialog()触发;非模态
对话框
需通过Create()/Show
Window
()分离
创建
与显示,并须手动管控生命周期,重点在OnClose()和PostNc
Destroy
()
中
安全
释放
资源。文
中
强调二者不可混用
Destroy
Window
()与EndDialog(),并给出避免重复
创建
、防止内存泄漏及多实例管理的最佳实践。
界面
15,975
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章