当使用该模式画图时,两次一样的操作可以将前面的操作察除。
该模式就是 异或 的意思。
下面代码可以参考下
CClientDC dc(this);
if(point)
{
//dc.TextOut(wParam,lParam,"自定义消息画点!");
CPen newPen(PS_DASH,2,RGB(20,30,40)); //创建新画笔
CPen* oldPen=dc.SelectObject(&newPen); //选入设备环境
dc.MoveTo(wParam,lParam);
dc.LineTo(wParam+200,lParam);
dc.SelectObject(oldPen);
}
else
{
dc.SetROP2(R2_NOTXORPEN);
//dc.TextOut(wParam,lParam-15,"自定义消息画点!");
CPen newPen(PS_DASH,2,RGB(20,30,40)); //创建新画笔
CPen* oldPen=dc.SelectObject(&newPen); //选入设备环境
dc.MoveTo(wParam,lParam-15);
dc.LineTo(wParam+200,lParam-15);
dc.SelectObject(oldPen);
}
在同一地方画两次,就能将前面一次察除了。
要实现橡皮查可以使用这个原理
VC异或画图
最新推荐文章于 2021-01-17 14:43:00 发布