如下画线:
CPen pen,*OldPen;
pen.CreatePen(PS_SOLID, 1, RGB(200,0,0)); OldPen = pDC->SelectObject(&pen);
// pDC->SetROP2(R2_XORPEN); pDC->MoveTo(10,10);
pDC->LineTo(200,200); pDC->SelectObject(OldPen);
pen.DeleteObject();

解决方案 »

  1.   

    用2个CPoint来保存上次的端点,其他没有什么好说的
      

  2.   

    to xiaoqiqixiao(七七):
    并没有消掉,我试过了的
      

  3.   

    CPen pen,*OldPen;
    pen.CreatePen(PS_SOLID, 1, RGB(200,0,0)); OldPen = pDC->SelectObject(&pen);
    dc.SetROP2(R2_NOT);//是用Not的 pDC->MoveTo(10,10);
    pDC->LineTo(200,200); pDC->SelectObject(OldPen);
    pen.DeleteObject();
      

  4.   

    擦除明显是取反啊,XOR是透明里面的一个操作
      

  5.   

    为什么我用
    R2_NOT
    来画,画线的颜色总是黑色呢?
      

  6.   


    R2_NOT表示反色绘图         ClientDC.SetROP2(R2_NOT);
    ClientDC.MoveTo(s_PointBegin);
    ClientDC.LineTo(s_PointEnd);
    ClientDC.SetROP2(R2_COPYPEN);
    ClientDC.MoveTo(s_PointBegin);
    ClientDC.LineTo(point);
    这是一段简单的绘图语句,擦除上次的线后从新绘制