如何在鼠标移动中画线(像画图程序中的一样)
我在OnMouseMove()添加:
CClientDC dc(this);
CPen pen(PS_SOLID,5,RGB(255,0,0));
CPen *pOldPen=dc.SelectObject(&pen);
if(m_bDraw==TRUE)
{
dc.SetROP2(R2_XORPEN);
dc.MoveTo(m_ptOrigin);
dc.LineTo(point);
dc.SetROP2(R2_XORPEN);
dc.MoveTo(m_ptOrigin);
dc.LineTo(m_ptDraw);
m_ptDraw=point;
}
dc.SelectObject(pOldPen);
这样产生了两个问题:
1.由于先异或了说一很难配出我要的颜色,特别时当背景色不是纯色,例如背景为一幅图片时,我所要绘制的线颜色就不能保持我在画笔中设置的颜色。
2.两线相交处出现背景颜色。
另外用刷新客户区的方法时,画线会有闪烁现象……