各位高手:
我在往窗口上绘图时,想先把背景区域保存起来,以便重绘时直接显示该背景区域,以避免用InvalidateRect,但是背景被保存为黑色区域了,请问为什么?
我的代码如下:
if(bBackground)
{//要保存背景色
if( m_background.m_hObject)
{
m_background.DeleteObject();
}
CDC memDC;
CBitmap* pOldBmp = NULL;

memDC.CreateCompatibleDC(pDC);
m_background.CreateCompatibleBitmap(&memDC,
(lprcDest->right-lprcDest->left),
(lprcDest->bottom-lprcDest->top));
pOldBmp=memDC.SelectObject(&m_background);
memDC.BitBlt(0,0,(lprcDest->right-lprcDest->left),
(lprcDest->bottom-lprcDest->top),pDC, 
lprcDest->left,lprcDest->top,
SRCCOPY);
memDC.SelectObject(pOldBmp);
memDC.DeleteDC();
}
...//这里画当前绘图...//这里需要重绘背景区域了CDC memDC;
memDC.CreateCompatibleDC(pDC);
ltPos=m_timer.GetLTPos();
CBitmap *pOldBmp=memDC.SelectObject(&m_timerNum.m_background);//m_timerNum.m_background就是前面保存的背景bitmap
pDC->BitBlt(rect1.left,rect1.top, rect1.Width(),rect1.Height(),
&memDC,0,0,SRCCOPY);
memDC.SelectObject(&m_timer.m_background);
pDC->BitBlt(ltPos.x,ltPos.y,m_timer.GetSize().cx,
m_timer.GetSize().cy/2,&memDC,0,0,SRCCOPY);
memDC.SelectObject(pOldBmp);
memDC.DeleteDC();
但是这里画出来的背景区域就是一块黑色区域,请帮我看看,啥原因呢?