LoadImage的内存释放问题
各位高手,我用了一个双缓存的方法来解决图片闪烁的问题,放在MoseMove当中,代码如下:
CDC * pDC = GetDlgItem(IDC_STATIC1)->GetDC();
CDC MemDC;
CBitmap MemBitmap;
MemDC.CreateCompatibleDC(pDC);
CRect rc;
m_picture.GetClientRect(&rc);
MemBitmap.CreateCompatibleBitmap(pDC,rc.Width(),rc.Height());
MemBitmap.m_hObject =
(HBITMAP)::LoadImage(NULL,"2.bmp", IMAGE_BITMAP,rc.right,rc.bottom,LR_LOADFROMFILE);
CBitmap * pOldBit = MemDC.SelectObject(&MemBitmap);
m_drawDots->DrawDots(&MemDC);
pDC->BitBlt(0,0,rc.right,rc.bottom,&MemDC,0,0,SRCCOPY);
// FreeHandle(MemBitmap);
DeleteObject(MemBitmap.m_hObject);
MemDC.SelectObject(pOldBit);
MemDC.DeleteDC();
MemBitmap.DeleteObject();
ReleaseDC(pDC);
// delete pOldBit; //这个指针很奇怪,删了就出现错误
出的问题就是只要鼠标move,任务管理器中的核心内存疯长,5s就卡死了,但这个程序进程本身占的内存还是5M左右,程序本身并没有报内存泄露的问题,如果把上面的LoadImage整句注释掉就不会有这个问题,当然结果也不是我想要的,这里是每move一次,Load一次,全局Load一次不行,求助各位,LoadImage怎么来释放,用句柄释放的方法也不可以,我的释放方法为什么不行呢,谢谢各位大虾~