一、创建新工程 二、添加变量、消息响应函数 1、添加变量
2、添加消息响应函数
三、添加代码(红色部分) void CCBrushView::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default m_point=point; m_decide=TRUE; //表示鼠标左键按下 CView::OnLButtonDown(nFlags, point); } void CCBrushView::OnLButtonUp(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default m_decide=FALSE; CView::OnLButtonUp(nFlags, point); } void CCBrushView::OnMouseMove(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default CClientDC dc(this); //创建客户区内绘图之设备描述环境(设备上下文)对象 CPen pen(PS_SOLID,1,RGB(0,0,255)); //创建一个蓝色画笔 CPen *pOldPen=dc.SelectObject(&pen); //用新画笔替换原有画笔 if(m_decide==TRUE) //鼠标左键按下 { dc.MoveTo(m_point); dc.LineTo(point); m_point=point; } dc.SelectObject(pOldPen); //恢复原有画笔 CView::OnMouseMove(nFlags, point); } 四、编译 五、运行
六、函数说明 CWnd::OnMouseMove函数声明 afx_msg void OnMouseMove(UINT nFlags,CPoint point) nFlags:表示按下虚拟键类型。见虚拟键类型表。 point: 鼠标光标位置。 功能:鼠标移动时调用该函数。 虚拟键类型表: 参数 描述 KM_CONTROL 按下CTRL键 MK_LBUTTON 按下鼠标左键 MK_MBUTTON 按下鼠标中间键 MK_RBUTTON 按下鼠标右键 MK_SHIFT 按下SHIFT键
|