|
我的代码,发现每次调用SHLoadDIBitmap之后,内存就减少,但是一直没有内存增加情况(如果我释放了,就应该增加吧)。不知道我哪里出问题
内存使用率: 27%
可用物理内存: 82944000
可用虚拟内存: 20905984
内存使用率: 27%
可用物理内存: 82681856
可用虚拟内存: 20643840
- BOOL CEntertainDlg::OnEraseBkgnd(CDC* pDC)
- {
- // TODO: 在此添加消息处理程序代码和/或调用默认值
- //return CDialog::OnEraseBkgnd(pDC);
-
- //MessageBox(m_pMainShellPicture[PICTURE_BACKGROUND].sPicturePath);
- Memory_Test();
- HBITMAP bitmap = SHLoadDIBitmap(m_pMainShellPicture[PICTURE_BACKGROUND].sPicturePath);
- //HBITMAP bitmap =LoadBitmap(AfxGetInstanceHandle(),m_pMainShellPicture[PICTURE_BACKGROUND].sPicturePath);
- Memory_Test();
- HBITMAP oldbitmap;
- CDC memdc;
- memdc.CreateCompatibleDC(pDC);
- //oldbitmap=(HBITMAP)memdc.SelectObject(bitmap);
- memdc.SelectObject(bitmap);
- pDC->StretchBlt(m_rcFullScreen.left, m_rcFullScreen.top, m_rcFullScreen.right, m_rcFullScreen.bottom,
- &memdc,
- m_pMainShellPicture[PICTURE_BACKGROUND].rcSourcePicture.left,
- m_pMainShellPicture[PICTURE_BACKGROUND].rcSourcePicture.top,
- m_pMainShellPicture[PICTURE_BACKGROUND].rcSourcePicture.right,
- m_pMainShellPicture[PICTURE_BACKGROUND].rcSourcePicture.bottom
- ,SRCCOPY);
- DeleteObject(bitmap);
-
- //memdc.SelectObject(oldbitmap);
- memdc.DeleteDC();
- Memory_Test();
- return TRUE;
- }
复制代码 |
|