做了一个橡皮条的直线,不过在移动时背景内容也被擦除了~~~
请问怎么做到不擦除背景部分?
谢谢!

解决方案 »

  1.   

    设置绘图模式,SetROP2(R2_NOT)
    http://msdn2.microsoft.com/en-us/library/99ax95h9(VS.71).aspx
      

  2.   

    试下来使用NOT NOTXORPEN的效果是一样的,都是将背景擦掉了,XORPEN则是都是黑线.我还是把代码贴出来吧:(写在MouseMove函数里的)
    if(m_CurrentOperation == Query_Distance && m_Dist_Click != 0)
    {
    m_Curr_Move = m_map.ToMapPoint(float(X),float(Y));

    CDC* pDC = GetDC();
    int DrawMode = pDC->SetROP2(R2_NOTXORPEN);
    pDC->SelectStockObject(NULL_BRUSH); DrawLine(pDC,m_Dist_Start,m_Dist_End); pDC->SetROP2(DrawMode);
    DrawLine(pDC,m_Dist_Start,m_Curr_Move);
    m_Dist_End = m_Curr_Move; ReleaseDC(pDC);
    }
      

  3.   

    problems solved.
    the order ofpDC->SetROP2(DrawMode);
    DrawLine(pDC,m_Dist_Start,m_Curr_Move);should be changed