有关DeleteObject()函数
有关DeleteObject()函数会看到这样一句话:
如果CGdiObject对象正被选入设备上下文中,则应用不可对此对象调用DeleteObject。当一个模式画刷被删除时,与之相关联的位图不被删除。位图必须被独立删除。
不幸的是碰巧遇到这样的情况,
CBitmap bmDents;
m_bmDents.LoadBitmap(IDB_BITMAP_BKG);
CDC m_memDC;
m_memDC.CreateCompatibleDC(pDC);
CBitmap* pOldBitmap=m_memDC.SelectObject(&m_bmDents);
m_memDC.DeleteDC();
pOldBitmap->DeleteObject();
DeleteObject(m_bmDents);
在代码的结尾我只是删除了m_bmDents,位图并没有被被独立删除。这样在下一次m_memDC.SelectObject(&m_bmDents); 能够正常选入,却不是原来的背景图。
想问的就是:
如果CGdiObject对象正被选入设备上下文中,则应用不可对此对象调用DeleteObject。当一个模式画刷被删除时,与之相关联的位图不被删除。位图必须被独立删除。
位图如何被独立删除????