日期:2014-05-20  浏览次数:20808 次

在OnDraw中绘图,为何要使用另一个CDC?
void CGobangView::OnDraw(CDC* pDC)
{
::CBitmap bitmap;
::CDC BEGIN;

bitmap.LoadBitmapW(IDB_BEGIN);
BEGIN.CreateCompatibleDC(pDC);
BEGIN.SelectObject(bitmap);
pDC->BitBlt(0,0,119,64,&BEGIN,0,0,SRCCOPY);

//pDC->SelectObject(bitmap);
//pDC->BitBlt(0,0,119,64,pDC,0,0,SRCCOPY);//试图这样绘图不成功!已经有一个CDC指针了,为何还需要一个CDC对象?
}

------解决方案--------------------
没有CDC BEGIN
的话,pDC->BitBlt是不可能操作成功的,

只有在CDC BGING 创建对象后,才能用指针来调用对象的成员函数.

我的理解是:
成员是属于对象的,有了对象才能有成员.
而指针只是对象的执行者.