CImage内存泄漏解决。 创建CImage和释放。MFC7.0
加载和释放
#include <atlimage.h>
int captionHeight, = 234;
CImage consumeBkImg; //分项能耗背景
consumeBkImg.Load(_T("res/server/consumeBk.jpg"));
consumeBkImg.Destroy();
//没有Destroy()会有内存泄漏。Detach();不行的。
//创建CImage,一般会在OnPaint()中,做双缓冲用。
CImage fakeImge;
fakeImge.Create(consumeBkImg.GetWidth(), captionHeight, consumeBkImg.GetBPP()); //创建一个伪CImage做缓冲用
HDC fakeDC = fakeImge.GetDC();
CDC fakeCDC;
fakeCDC.Attach(fakeDC);
fakeCDC.Detach();
fakeImge.ReleaseDC(); //拿到的DC要释放,不释放第二次刷新会崩溃。
fakeImge.Destroy();