在DC中檫除画线

Posted on 2007-01-15 10:09 梁海泉 阅读(517) 评论(0)  编辑 收藏 引用

如果想把以前画的线条檫除,则每次画线和檫除都运行以下的代码就OK了,关键是设置异或操作那一句,其他的画图也用这一句.就可以实现檫除了.

    CDC *  pDC  =  GetDC();                                    // 得到要画图的DC
    CPen pen(PS_SOLID, 4 ,RGB( 128 , 0 , 0 ));                     // 创建画笔
    CPen *  pOldPen  =  pDC -> SelectObject( & pen);               // 把笔选入DC
    pDC -> SetROP2(R2_XORPEN);                               // 设置异或操作,这一句是关键的
    pDC -> MoveTo( 0 , 0 );                                      // 移动画线
    pDC -> LineTo( 100 ,   100 );  
    pDC
-> SelectObject( & pOldPen);                           // 恢复画笔
    ReleaseDC(pDC);                                        // 释放DC

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理