CBRUSH释放、CreateSolidBrush的内存释放与内存泄露问题及其解决方法

发布时间:2017-2-26 20:19:07 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"CBRUSH释放、CreateSolidBrush的内存释放与内存泄露问题及其解决方法",主要涉及到CBRUSH释放、CreateSolidBrush的内存释放与内存泄露问题及其解决方法方面的内容,对于CBRUSH释放、CreateSolidBrush的内存释放与内存泄露问题及其解决方法感兴趣的同学可以参考一下。

今天编了一个小程序,内存消耗却很大,随着时间用的越来越久,内存消耗越来越大。研究了一下,原来CBRUSH对象没有释放。 原来程序如下: HBRUSH CPORTSetting::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){ HBRUSH hbr ; COLORREF backColor =(COLORREF)   GetSysColor(COLOR_CAPTIONTEXT);  //office 2003背景色   //return CreateSolidBrush(backColor);            //创建背景刷子   return hbr;}  只需要将hbr声明为成员变量,在CPORTSetting的构造函数中初始化,在析构函数中使用DeleteObject释放hbr对象即可。 修改后代码如下: CPORTSetting::CPORTSetting(){ COLORREF backColor =(COLORREF)   GetSysColor(COLOR_CAPTIONTEXT);  //office 2003背景 hbr=::CreateSolidBrush(backColor);            //创建背景刷子 } /////////////////////////////////////////////////////////////////////////// CPORTSetting::~CPORTSetting(){ DeleteObject(hbr);} ////////////////////////////////////////////////////////////////////// HBRUSH CPORTSetting::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){    return hbr;} 

上一篇:排序算法系列八(快速排序)
下一篇:word 字号对应表

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。