我要在背景图上画标志线不让背景图刷新,我知道用光栅操作可以实现,可是我只能实现用缺省的反色(CDC::SetRop2(RP_NOT)),我想最理想的情况是画红色或别的颜色的线,姑且用红色吧,我不知道该如何设置CDC::SetRop2()函数的标志位,都在哪里设置,我搞了很长时间也不行,结果反而画的乱七八糟:(,请有经验的高手指点一下,最好有代码,以红色为例吧,谢谢了!

解决方案 »

  1.   

    CPen redline(PS_SOLID, 1, RGB(255, 0, 0));

    pDC->SetROP2(R2_COPYPEN);
    pDC->SelectObject(&redline);
             pDC->MoveTo(100, 100);
             pDC->LineTo(300, 100);
      

  2.   

    SetROP2(R2_NOTXORPEN)
    我试过了,可以的
      

  3.   

    不好意思,我没有说清楚,应该是在擦除画线是不刷新背景.subtop的方法可以,不过只有画笔经过白背景才显红色,也就是说与背景色组合了.我详细看了MSDN和自己的体会觉得checkyvc6说的有道理,应该必须刷新.谢谢大家,给分!