1)为CDraView.h添加一个BOOL型的私有成员变量m_bDraw,当鼠标左键按下去时,此变量为真;当鼠标左键弹起来时,此变量为假。
private:
BOOL m_bDraw;
2)接下来,在视类的构造函数CDrawView()中,将此变量初始化为FALSE。
m_bDraw=FALSE;
3)当鼠标左键按下去时,即在视类的OnLButtonDown()函数中将此变量设置为真。
m_bDraw=TRUE;
4)当鼠标左键弹起来时,即在视类的OnLButtonUp()函数中将此变量设置为假。
m_bDraw=FALSE;
代码如下:
void CDrawView::OnMouseMove(UINT nFlags, CPoint point)
{
CClientDC dc(this);
if (m_bDraw==TRUE)
{
dc.MoveTo(m_ptOrigin);
dc.LineTo(point);
m_ptOrigin=point;//设置原终点为曲线的新起点
}
CView::OnMouseMove(nFlags, point);
}
结果如下: