如何使用bitblt函数?
帮我看看下面的代码,为什么没有任何显示??
void CQ2View::OnDraw(CDC* pDC)
{
CQ2Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
vector<CGraphBase*>::iterator iter;
DCUsed=0;
// CDC* pDC=this->GetDC();
CDC* pMemDC=new CDC();
pMemDC->CreateCompatibleDC(pDC);
CRect oRect;
GetClientRect(oRect);
for (iter=Graph.begin();iter!=Graph.end();++iter)
{
CDC* pTempDC=new CDC();
pTempDC->CreateCompatibleDC(pMemDC);
CGraphBase* pBase=*iter;
pBase->Draw(pTempDC);
pMemDC->BitBlt(0,0,oRect.Width(),oRect.Height(),pTempDC,0,0,SRCPAINT);
ReleaseDC(pTempDC);
delete pTempDC;
}
pDC->BitBlt(0,0,oRect.Width(),oRect.Height(),pMemDC,0,0,SRCPAINT);
pBase->Draw(CDC *pDC);在传入的CDC对象上画图
bool CRectangle::Draw(CDC *pDC)
{
m_PosX+=m_SpeedX;
m_PosY+=m_SpeedY;
CPen* pPen=new CPen(m_PenStyle,m_PenWidth,m_PenColor);
CBrush* pBrush=new CBrush(m_BrushColor);
CPen* pOldPen=pDC->SelectObject(pPen);
CBrush* pOldBrush=pDC->SelectObject(pBrush);
pDC->Rectangle(m_PosX,m_PosY,m_PosX+m_Width,m_PosY+m_Height);
pDC->SelectObject(pOldPen);
pDC->SelectObject(pOldBrush);
pPen->DeleteObject();
pBrush->DeleteObject();
delete pPen;
delete pBrush;
}
为什么没有显示啊?