分享

VC++之简单图形绘制之绘制连续线条

 小小小石头哥 2013-11-04

一、创建新工程

二、添加变量、消息响应函数

       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键

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多