绘制和擦除线

时间:2018-05-22 09:53:48

标签: mfc

我有一个mfc mdi应用程序。

我有一条黑色的颜色。

单击绘图按钮时,我必须在背面颜色线上绘制红色线。

点击删除按钮后,我必须删除红色线,但黑色线应该是可见的。

我可以绘制红色线,但我不知道如何擦除红色线?

我正在使用下面的代码。在擦除线条时,我得到了一些绿色线条和黑色线条也被删除了。

void CScrRulerView::DrawLine(CDC* pDC, CRect rulerRect, bool bDraw)
{
    int nPrevMode;

    CPen pen(PS_SOLID,1,RGB(255,0,0));
    CPen* pPenOld = pDC->SelectObject (&pen);
    if(bDraw)
        nPrevMode = pDC->SetROP2(R2_COPYPEN);
    else
        nPrevMode = pDC->SetROP2(R2_NOT);
    pDC->MoveTo(rulerRect.left,rulerRect.top);
    pDC->LineTo(rulerRect.right,rulerRect.bottom);
    pDC->SelectObject(pPenOld);
    pDC->SetROP2(nPrevMode);


}

我正在使用SetROP2(R2_NOT);擦除我是否必须使用其他选项?

0 个答案:

没有答案