在对话框里,我用
MoveTo();
LineTo();绘制了两条直线
其中一条是用
CPaintDC dc(this);
dc.MoveTo(500,390
dc.LineTo(700,390);绘制的
另一条直线是用
CClientDC dc(this);
MoveTo();
LineTo();绘制的
现在我想清除用CClientDC dc(this);绘制的那条直线,希望保留另一条直线,该怎么办啊?

解决方案 »

  1.   

    全清掉,把用CPaintDC画的重画一遍(提示:可以保存CPaintDC所画的线)
      

  2.   

    同上
    或者把CPaintDC画的写在OnPaint()中,然后刷新画的区域
      

  3.   

    To:jennifergiant
    怎么样刷新画的区域啊?
      

  4.   

    在画图的时候,使用R2_XORPEN的风格,这样,在同一个位置画第二次的时候就把原来的清除了
    pDC->SetROP2(R2_XORPEN);
      

  5.   

    学习。
    我想问一下,CPaintDC和CClientDC有什么区别?
      

  6.   

    CPaintDC用于OnPaint中,
    记得好像见过这么一眼,
    MFC Windows 编程讲过,GDI有关的书都会讲!
      

  7.   

    楼上两种方法都讲了。1,重画。Invalidate,然后再画上新线。
    2,擦除。用pen再画一次。R2_XORPEN.