CDC * pdc=m_cwParent->GetDC();if(pdc==NULL)
return;CDC      memDC;
CBitmap  bmp;         memDC.CreateCompatibleDC(pdc);
         bmp.CreateCompatibleBitmap(pdc,m_rcShape.Width(),m_rcShape.Height());
CPen    penBaf(PS_SOLID,PENWIDTH,CIRCLECOLOR);        memDC.SelectObject(&bmp);// memDC.FillSolidRect( 0, 0, m_rcShape.Width(),m_rcShape.Height(), RGB(255,255,255) );   ???问题(1)int     oldmode=memDC.SetROP2(R2_NOTXORPEN);   //采用异或画图 擦除刀具(圆球)CPen    *oldpen=memDC.SelectObject(&penBaf);        memDC.Ellipse(ptd.x-6,ptd.y+3,ptd.x+6,ptd.y+15);    //当前刀具(圆球)
 
     memDC.Ellipse(prepoint.x-6,prepoint.y+3,prepoint.x+6,prepoint.y+15);  //擦去前一个刀具        memDC.SetROP2(R2_COPYPEN );                      //设置正常模式 画加工轨迹点        memDC.Ellipse(ptd.x-PENWIDTH,ptd.y-PENWIDTH,ptd.x+PENWIDTH,ptd.y+PENWIDTH);   //轨迹点        memDC.SetROP2(oldmode);        memDC.SelectObject(oldpen)->DeleteObject();        pdc->BitBlt(m_rcAll.Width()-m_rcShape.Width(),0,m_rcShape.Width(),m_rcShape.Height(),&memDC,0,0,SRCCOPY);        memDC.DeleteDC();
        bmp.DeleteObject();        m_cwParent->ReleaseDC(pdc);以上是我的绘图代码我想实现的是刀具加工的时候跟踪加工轨迹,用一个圆代表刀具,采用SetROP2(R2_NOTXORPEN)的模式画两次擦除前次画的刀具【现在的问题是】
屏蔽标记的(1)处代码,轨迹和刀具的显示都是正常的,但屏幕是黑色的
加上(1),背景变成了白色,但是只现实当次画的点和圆,以前画的都没有了怎么处理啊?
麻烦高手看看我代码哪里有点问题