|
我做一个画图程序,使用内存DC,原代码如下:(C*View的OnDraw(CDC* pDC)函数中)----- 但是运行后,整个View区域是黑色的?
CDC dc;
CDC* pDrawDC = pDC;
CBitmap bitmap;
CBitmap* pOldBitmap;
CRect rect;
GetClientRect(&rect);
//========================================================
if (dc.CreateCompatibleDC(pDC))
{
if (bitmap.CreateCompatibleBitmap(pDC,
rect.Width(),
rect.Height()))
{
OnPrepareDC(&dc,NULL);
pDrawDC = &dc;
pOldBitmap = dc.SelectObject(&bitmap);
}
}
//========================================================
pDoc->Draw(pDrawDC,ViewID);
pDrawDC->TextOut(1,1,*str);
dc.DPtoLP(&rect);
//========================================================
if ( pDrawDC != pDC )
{
pDC->BitBlt( 0, 0,rect.Width(), rect.Height(),
&dc, 0, 0, SRCCOPY);
dc.SelectObject(pOldBitmap);
bitmap.DeleteObject();
}
各位帮忙给看看,是什么问题? |
|