一. 画直线:
步骤一:在视图类中对WM_LBUTTONDOWN和WM_LBUTTONUP消息添加消息响应函数OnLButtonDown和OnLButtonUp
步骤二:在视图类中利用添加成员向导添加成员变量。名字,例如m_StartPoint,类型为CPoint,访问属性设置为protected
步骤三:在OnLButtonDown和OnLButtonUp 中写如下代码:
void CswdfView::OnLButtonDown(UINT nFlags, CPoint point) m_StartPoint=point; void CswdfView::OnLButtonUp(UINT nFlags, CPoint point) /*HDC hdc;
/*CDC *pDC=GetDC();
CClientDC aDC(this);
|
OK,运行程序,可以画直线了。
二. 画曲线
步骤一:按照画直线中介绍的方法在视图类中添加对WM_MOUSEMOVE消息的响应函数OnMouseMove
步骤二:在OnMouseMove中写如下代码:
void CswdfView::OnMouseMove(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default if(nFlags==MK_LBUTTON) //判断鼠标左键是否按下,如果按下,则移动时画线 { CClientDC aDC(this); aDC.MoveTo(m_StartPoint); aDC.LineTo(point); m_StartPoint=point; //将画线的起点移动到鼠标移动后的点 } CView::OnMouseMove(nFlags, point); } |