//保存原画图模式
int OldModeR=dc.GetROP2();
//设定异或模式
dc.SetROP2(R2_NOT);
//抹掉前一直线

//画当前直线

//恢复异或模式
dc.SetROP2(OldModeR);

解决方案 »

  1.   

    这是别人的一段代码,你可以参考一下
    class CTestView
    {
    protected:
    CPoint m_ptLBDown;
    BOOL m_bLBDown;
    CPoint m_ptMove;
    }CTestView::CTestView()
    {
    m_bLBDown = FALSE;
    }void CTestView::OnLButtonDown(UINT nFlags, CPoint point) 
    {
    m_ptLBDown = point; 
    m_ptMove = point;
    m_bLBDown = TRUE;
    CView::OnLButtonDown(nFlags, point);
    }void CTestView::OnMouseMove(UINT nFlags, CPoint point) 
    {
    if(m_bLBDown)
    {
    CClientDC dc(this);
    dc.SetROP2(R2_NOTXORPEN);
    dc.MoveTo(m_ptLBDown);
    dc.LineTo(m_ptMove);
    dc.MoveTo(m_ptLBDown);
    dc.LineTo(point);
    }
    m_ptMove = point;
    CView::OnMouseMove(nFlags, point);
    }void CTestView::OnLButtonUp(UINT nFlags, CPoint point) 
    {
    m_bLBDown = FALSE;
    CView::OnLButtonUp(nFlags, point);
    }