VC异或画图

来源:互联网 发布:ubuntu deepin qq 编辑:程序博客网 时间:2024/05/01 20:37

当使用该模式画图时,两次一样的操作可以将前面的操作察除。
该模式就是 异或 的意思。
下面代码可以参考下
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);
}

在同一地方画两次,就能将前面一次察除了。
要实现橡皮查可以使用这个原理

原创粉丝点击