我有一个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);擦除我是否必须使用其他选项?