双缓冲防图片刷新闪烁有关问题-内存泄漏4K

双缓冲防图片刷新闪烁问题--内存泄漏4K
使用双缓冲技术防止刷新时的闪烁问题:(会发生内存泄漏、4K)
OnDraw函数代码:
CRect   rect;
GetClientRect(rect);
CDC   MemDC;  
CBitmap   MemBitmap;
MemDC.CreateCompatibleDC(NULL);
MemBitmap.CreateCompatibleBitmap(pdc,rect.Width(),rect.Height());
CBitmap   *pOldBit=MemDC.SelectObject(&MemBitmap);
MemDC.FillSolidRect(0,0,rcBounds.Width(),rcBounds.Height(),RGB(255,255,255));
//画图
pdc-> BitBlt(0,0,rcBounds.Width(),rcBounds.Height(),&MemDC,0,0,SRCCOPY);
MemDC.SelectObject(pOldBit);
MemBitmap.DeleteObject();
MemDC.DeleteDC();

------解决方案--------------------
FreeResource(hGlobal); ?
------解决方案--------------------
我建立的那工程中rcBounds都是用常数代替的,没发现内存泄漏,你逐条//测试吧.
------解决方案--------------------
泄露不在 OnDraw 中,查找别的地方吧。
------解决方案--------------------
CComQIPtr <IPicture> spIPicture;
CFile file;
if (file.Open(pszPathName, CFile::modeRead | CFile::shareDenyWrite))
{
CArchive ar(&file, CArchive::load | CArchive::bNoFlushOnDelete);

CArchiveStream arStream(&ar);

HRESULT hr = OleLoadPicture((IStream*)&arStream, 0, FALSE, IID_IPicture, (void**)&spIPicture);
ASSERT(SUCCEEDED(hr) && spIPicture);
}


一样是可以读取JPG和GIF的第一帧图像.
之后使用spIPicture的Render函数把图像读取到双缓冲DC上
------解决方案--------------------
1)用什么来检测出来的?
2)如想确定是否OnDrow(),可以写个简单函数代替。看看有没有泄漏就是了