博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
windows关于非模态框的释放
阅读量:6697 次
发布时间:2019-06-25

本文共 587 字,大约阅读时间需要 1 分钟。

  非模态对话框是通过new创建的对话框,语法类似于

     Dialog* dialog = new Dialog(parameter);

 这样创建的对话框时在堆上生成的,释放时要用delete

 非模态对话框默认的OnClose只是把对话框隐藏了,并没有关闭。

如果仅仅是Delete指针的话会有内存泄露,因为对话框的资源没有释放。

     如果在对话框内释放的话要重写两个消息响应函数

     OnClose()和 PostNcDestory() 

     添加WM_ON_CLOSE()和 WM_ON_NCDESTORY()分别响应

    WM_CLOSE 和 WM_NCDESTORY消息。

    OnClose()

{

       CDialg::OnClose();

       DestoryWindow();

}

 

PostNcDestory()

{

    CDialg::PostNcDestory();

    delete this;

}

 

执行顺序,先执行OnClose()再执行 PostNcDestory()

如果在对话框外释放,就先调用DestoryWindow(),再delete该指针 。

示例   dialog->DestoryWindow();

         delete dialog;

          dialog = NULL;

(如有疏漏,欢迎指正)

 

    

转载于:https://www.cnblogs.com/zhqshome/p/3583932.html

你可能感兴趣的文章
php动态获取函数参数
查看>>
Error: Java heap space
查看>>
JSP中的:request.getScheme()+"://"+request.getServerName()+":"+request.getServer
查看>>
vue用阿里云oss上传图片使用分片上传只能上传100kb以内的解决办法
查看>>
图tp delDataById问题
查看>>
[CSS3] :empty Selector
查看>>
Win10远程桌面提示你的凭据不工作的处理方法
查看>>
7. Oracle数据加载和卸载
查看>>
将网桥的配置写进去/etc/sysconfig/network-scripts/ifcfg-xxx
查看>>
一起谈.NET技术,WPF 基础到企业应用系列5——WPF千年轮回2
查看>>
D3D9 effect (hlsl)(转)
查看>>
WEB在线预览PDF
查看>>
C++枚举类型
查看>>
Windows Forms、MFC、WTL、WxWidgets、Qt、GTK综合比较
查看>>
教程-Delphi第三方控件安装卸载指南
查看>>
Swift 与 JSON 数据
查看>>
django 初试
查看>>
论文笔记之:Deep Attention Recurrent Q-Network
查看>>
Android性能优化-App后台优化
查看>>
You-Get 视频下载工具 Python命令行下载工具
查看>>