社区
界面
帖子详情
mfc中画图的疑惑
yuwei2589
2008-11-24 11:27:04
我想在mfc中实现下面的功能,但是存在一些问题,想请教。
要求:鼠标按下,确定一线段的起始点,然后拖动鼠标,要求线段随着鼠标而移动,直到松开鼠标键,在整个过程中存在唯一的一线段。
我的想法是:按下鼠标键记录下原始点,然后在mousemove的时候记录下第2个点,画线段,可在拖动过程中,怎么保持只存在一条线段呢?
属新手,望不吝赐教。多谢!
...全文
80
9
打赏
收藏
mfc中画图的疑惑
我想在mfc中实现下面的功能,但是存在一些问题,想请教。 要求:鼠标按下,确定一线段的起始点,然后拖动鼠标,要求线段随着鼠标而移动,直到松开鼠标键,在整个过程中存在唯一的一线段。 我的想法是:按下鼠标键记录下原始点,然后在mousemove的时候记录下第2个点,画线段,可在拖动过程中,怎么保持只存在一条线段呢? 属新手,望不吝赐教。多谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
biaozai06
2008-11-24
打赏
举报
回复
[Quote=引用 4 楼 yuwei2589 的回复:]
引用 2 楼 cremesino 的回复:
在mousemove的时候把已有的整个擦除,重画
擦除整个画面吗?可是我还想画完一条线段时,继续画线段的时候原先的那根线段还在画面上。
我还想了解下擦除和重画怎么实现?对这块特别模糊。
[/Quote]
在mousemove函数里面动态更新一个全局CPoint,并且调用Invalidate()函数刷新界面
然后在WM_PAINT消息处理函数里从起点到CPoint画线
这样做就不用自己擦除之前所画的线了
yuwei2589
2008-11-24
打赏
举报
回复
to oakfire:
能把反色说详细点吗?或者给个简单的实现。谢谢
oakfire
2008-11-24
打赏
举报
回复
[Quote=引用 2 楼 cremesino 的回复:]
在mousemove的时候把已有的整个擦除,重画
[/Quote]
用这个办法。擦除操作你可以用反色把之前的线重画一遍。
yuwei2589
2008-11-24
打赏
举报
回复
[Quote=引用 2 楼 cremesino 的回复:]
在mousemove的时候把已有的整个擦除,重画
[/Quote]
擦除整个画面吗?可是我还想画完一条线段时,继续画线段的时候原先的那根线段还在画面上。
我还想了解下擦除和重画怎么实现?对这块特别模糊。
yuwei2589
2008-11-24
打赏
举报
回复
[Quote=引用 1 楼 yuhudie203 的回复:]
移动鼠标时在mousemove里会记录下一连串的点
如果你在里面用lineto则会是一连串的线
把lineto移到mousemove外画图~
[/Quote]
那该什么时候画呢?在松开键吗?那不是在拖动过程中没有线段了?
cremesino
2008-11-24
打赏
举报
回复
在mousemove的时候把已有的整个擦除,重画
yuhudie203
2008-11-24
打赏
举报
回复
移动鼠标时在mousemove里会记录下一连串的点
如果你在里面用lineto则会是一连串的线
把lineto移到mousemove外画图~
kier2
2008-11-24
打赏
举报
回复
可以用MFC提供的 CPtrArray类,把每条线段的起始点与终点保存起来,在ondraw函数里绘制这些点代表的线段。其中起始点就是鼠标按下的点,终点是鼠标左键松开的点。
yuwei2589
2008-11-24
打赏
举报
回复
在这些的基础上,还有个问题:怎么把画过的线段保留在画面上?
我想画多条线段,并且线段的产生方式都是通过鼠标拖动,在松开鼠标后,线段才定型。
MFC
+Glew+Opengl环境配置:并用shader绘制四边形
MFC
+glew配置:并用shader绘制四边形 一、开发环境说明 操作系统:windows 开发软件:VS2017 编程语言:基于
MFC
对话框下的opengl 库 :glew 最终效果图: 二、配置操作 配置opengl,并搭建opnegl框架,使在
MFC
下能显示出绘制的图形 1、打开vs2017软件,依次点击【文件】–【新建】–【项目】,选择“Visual C++”下面的
MFC
,如下图所示 2、点击【确定】–【下一步】选择【基于对话框】,点击【完成】。如图所示 3、在左
Visual C++
MFC
的图形绘制——常见问题汇总
Visual C++
MFC
的图形绘制——常见问题汇总 目录 一.常见问题 1. 菜单界面制作 2.命令响应函数 3.添加私有变量 4.消息响应函数 二.后记 三.补充代码 一.常见问题 1. 菜单界面制作 题目描述:新建一个单文档类型的
MFC
AppWizard (exe)工程,工程取名为:Graphic。为此程序添加一个子菜单,...
MFC
六大关键技术
我并不认为
MFC
减轻了程序员们的负担,
MFC
出现的目的虽然似乎是为了让程序员不用懂得太多就可以进行视窗编程,但本人在
MFC
里徘徊了很久很久(因为那时没有书本详细介绍
MFC
的原理),毫无收获。可能朋友们会说,怎么一定要了解
MFC
的具体呢,“黑箱”作业不行吗?这不是微软的初衷吗? 不行!!!如果这样,我宁愿永远不选择
MFC
!在学电脑之前,本人学习的东西大都与艺术不无关系,小学时参加过全国书画比赛...
MFC
六大关键技术之初始化过程
MFC
六大关键技术之初始化过程 我并不认为
MFC
减轻了程序员们的负担,
MFC
出现的目的虽然似乎是为了让程序员不用懂得太多就可以进行视窗编程,但本人在
MFC
里徘徊了很久很久(因为那时没有书本详细介绍
MFC
的原理),毫无收获。可能朋友们会说,怎么一定要了解
MFC
的具体呢,“黑箱”作业不行吗?这不是微软的初衷吗? 不行!!!如果这样,我宁愿永远不选择
MFC
!在学电脑之前,本人学习的东西大
MFC
六大核心机制
我们选择了C++,主要是因为它够艺术、够自由,使用它我们可以实现各种想法,而
MFC
将多种可灵活使用的功能封装起来,我们岂能忍受这种“黑盒”操作?于是研究分析
MFC
的核心机制成为必然。 首先,列出要讲的
MFC
六大核心机制: 1、
MFC
程序的初始化。 2、运行时类型识别(RTTI)。 3、动态创建。 4、永久保存。
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章