好贷网好贷款

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

发布时间:2016-12-5 22:33:52 编辑: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 字号对应表

相关文章

相关评论