如何用异或方式擦除所画的线?

来源:百度知道 编辑:UC知道 时间:2024/06/19 22:44:46
用下面的方法在OnPaint()方法中画了一条线。
CPaintDC m_dc1(this);
CPen m_pen1(PS_SOLID,5,RGB(253,0,0));
CPen* m_pen2=m_dc1.SelectObject(&m_pen1);
int nOldMode;
nOldMode=m_dc1.SetROP2(R2_COPYPEN);
m_dc1.MoveTo(100,123);
m_dc1.LineTo(200,200);

请问如何再点击一个按钮后用 异或 的方式原来的那条线擦除呢?

提供2种方法:
1.可以选择和当前背景颜色相同的笔把这条线重画一次。
2.画线程序加个条件判断

dc1.SetROP2(R2_NOT)
将绘图方式设置为异或再画一次就回来了!