命名文件为LINE,在LINEView.cpp中打开类向导添加一个CPoint类型的变量mPrevPoint,用于存储按下鼠标左键时上一个位置的点。

同样在LINEView.cpp的类向导中,找到WM_LBUTTONDOWN和WM_MOUSEMOVE,点击添加处理程序,完成后点击确认应用。

对 CLINEView::OnLButtonDown和CLINEView::OnMouseMove函数进行定义。


void CLINEView::OnLButtonDown(UINT nFlags, CPoint point)
{// TODO: 在此添加消息处理程序代码和/或调用默认值mPrevPoint = point;CView::OnLButtonDown(nFlags, point);
}void CLINEView::OnMouseMove(UINT nFlags, CPoint point)
{// TODO: 在此添加消息处理程序代码和/或调用默认值if ((nFlags & MK_LBUTTON) != 0){auto PDC = GetDC();PDC->MoveTo(mPrevPoint);PDC->LineTo(point);mPrevPoint = point;}InvalidateRect(nullptr, false);CView::OnMouseMove(nFlags, point);
}

完成后点击运行测试的结果如下。

以下是自己无聊写了个建议的画笔
可以实现增减线宽和改变画笔的颜色
百度网盘链接
提取码: 7aqc

C++MFC最简易画板-移动鼠标画线相关推荐

  1. MFC在两控件间画线

    CPen pen(PS_DOT, 1, RGB(0, 0, 0));//创建一个画笔工具,也可用其他类型工具,如CBrush等,第一个参数线段样式,PS_DOT为点虚线,第二个参数为线宽度 //CWn ...

  2. 绘画板绘-小白画线不稳怎么办?

    很多初学者在刚刚接触板绘的时候经常会因为手不稳而无法控制线条的运用,导致画面显得粗糙,形状或结构不标准,画面花等等问题. 然而其实手稳是学习绘画中第一个要克服的难关,不管你画什么样的作品首先要手稳才能 ...

  3. Qt学习之路-简易画板4(鼠标点击拖动图形功能)

    我一直很不明白为什么一直百度不到有关Qt鼠标拖动图形的代码,然后就各种蛋疼的坐定思考,整整两天,感觉人都不好了.现在很兴奋,刚刚终于把图形拖动雏形测试出来了,并且拖动时有痕迹,而且貌似可以完美的加到原 ...

  4. Matlab GUI鼠标画线

    (代码: 1\UI_line.m) % 窗体打开前,先执行该函数 function UI_line_OpeningFcn(hObject, eventdata, handles, varargin)h ...

  5. 【Unity技术积累】实现鼠标画线功能 LineRenderer

    using System.Collections; using System.Collections.Generic; using UnityEngine;public class Painting ...

  6. 使用WPF与C#实现鼠标画线

    鼠标点的读取 首先需要在WPF中的前端页面获取对鼠标的操作 在一个布局里(Grid)新建关于鼠标的相关"事件" //相关事件MouseEnter="grid_MouseE ...

  7. VTK 鼠标画线(点移动线可同步更新)

    鼠标交互事件:点两个点形成一条线 通过鼠标点两个点,同时标记这两个点,形成一条线.(只有一条线,并不是每次点两个点都会新出现一条线) 这个版本是个初级版本,(后面我也实现了任意拖动一个点,直线会相应发 ...

  8. VC++ 利用MFC的CWindowDC类实现画线功能 在桌面窗口中画线 绘制彩色线条 CPen nPenStyle nWidth crColor

    目录 利用MFC的CWindowDC类实现画线功能 在桌面窗口中画线 绘制彩色线条 CPen nPenStyle nWidth crColor 接上:VC++ 绘制线条 OnLButtonDown函数 ...

  9. Mapabc通过鼠标画点线面,取得各元素坐标。

    private function tbb_itemClickHandler(event:ItemClickEvent):void { if (_HuiZhiGongJuUI.tbb.selectedI ...

最新文章

  1. showdialog 尝试读取或写入受保护的内存_TreadMarks: 基于工作站网络的共享内存计算...
  2. ai字体素材网站_4个网站,涵盖几乎所有素材,字体、设计、图片各种资源管够...
  3. redisson 大量ping操作,导致 tps过高
  4. 应付账款账龄分析模板_企业财务报表分析论文应如何着手?
  5. Python+MySQL开发医院网上预约系统(课程设计)一
  6. Python爬虫进阶必备 | X中网密码加密算法分析
  7. 游戏筑基开发之二进制文件操作的那点事儿(C语言)
  8. 抢红包插件实现原理浅析
  9. 博图os更新_博途V14的新功能(通过U盘给第二代的精智及精简屏传输组态)
  10. ASCLL GBK UTF-8 http https
  11. 【状压DP】状态压缩动态规划入门超详解
  12. Mybatis-Plus条件构造器
  13. python 修改ubuntu 的ip
  14. oracle年龄计算函数天 月 年,如何使用Oracle获得年龄,月份和天数的年龄
  15. 文科生都能看得懂的贝叶斯定理,从白袜到飞机失事再到人工智能
  16. 入门级测试Kotlin实现PopWindow弹窗代码
  17. 吃西瓜—先磨刀之概率论
  18. Happy GroundHog Day土拨鼠之日
  19. kafka的安装和使用(详细版)
  20. Matlab之误差分析

热门文章

  1. 软件项目管理知识点(期末复习)
  2. xcode如何将系统语言改为中文,可修改拍照界面retake和use按钮
  3. Python之字典添加元素
  4. jax-rs jax-ws_JAX Finance综述:“开放分配的缩影是开源的”
  5. 车牌检测中mAP的计算
  6. VScode格式化代码换行问题
  7. C#:实现异或校验算法(附完整源码)
  8. 在 xUnit 测试方法中共享测试上下文
  9. 拓嘉辰丰:拼多多主图智能投放怎么使用
  10. cmd命令行--切换盘符