dc->MoveTo(x, y);
dc->LineTo(x, y);
dc->SetROP2(R2_XORPEN);
dc->MoveTo(x, y);
dc->LineTo(x, y);

解决方案 »

  1.   

    用两个内存dc不就解决了么,第一个用来显示背景,第二个用来绘图,然后再OnDraw时先把第一个dc用bitblt显示出来,接着把第二也用bitblt显示出来覆盖上去,擦除时只要把第二个dc擦除掉就行了。
      

  2.   

    看来我没有说清楚。我绘制的是有透明背景的位图,所以我绘制第二个位图时却无法把第一个清除,仍然可以在第二个位图的透明部分看到它。还又一个问题:
    如果不选择CPen、CBrush这些对象,dc可以改变画线的颜色吗?
    如果选CPen对象来画线,用什么方法可以把线清除?
    我是一低手,万望各位高手帮助!