图像组显示及内存释放问题
各位专家:我在VC6.0中,显示一组位图,
在切换其它组位图时,我需要把原来显示的内容在内存中清除,但出错了,是什么原因?
class CBookReadWnd : public CDialog
{
// Construction
public:
int ClearData();
int DrawBookReadMap();
CTypedPtrArray<CObArray, CDC*> bmpList;
}
int CBookReadWnd::DrawBookReadMap() // 显示一组位图
{
CDC* pDC=GetDC();
for(i=0;i<num;i++)
{
CDC* pNewDC=new CDC;
pNewDC->CreateCompatibleDC(pDC);
CBitmap bmpFace;
bmpFace.CreateCompatibleBitmap(pDC,ww,hh);
bmpFace.SetBitmapBits(ww*hh*sizeof(COLORREF),pBits);
delete[]pBits;
pBits=NULL;
pNewDC->SelectObject(&bmpFace);
bmpFace.DeleteObject();
bmpList.Add(pNewDC);
}
return 1;
}
int CBookReadWnd::ClearData() // 清除数据
{
int num=bmpList.GetSize();
for(int i=0;i<num;i++)
{
bmpList[i]->DeleteDC();
delete bmpList[i];
}
bmpList.RemoveAll();
return 1;
}