MFC之画线方法

MFC之画线方法:
1新建一个单文档MFC,默认设置
2认识类文件
工程类文件目录
新类有
CDLine,:画线时的线类,线要素:起点,终点,线宽,颜色的三原色
这里写图片描述
Cline:全局变量存储类,可用可不用

ClAttribute:设置属性对话框类,设置属性对话框对应的类,一个对话框就要绑定一个类,设置宽、颜色,4个成员变量,公有的,int型
这里写图片描述
认识本身有的类,其他的类,这里不会用只讲DrawView类,OnInitDialog()是对话框初始函数,对画框内容进行初始设置。也可以直接对4个变量在构造函数(CLAttribute())中初始化设定值。
这里写图片描述
类里面有线宽,颜色三原色,起点,终点,类型type(辅助判断是否获取)。
3设置菜单resoureceview按钮
这里写图片描述
点击menu下的文件
这里写图片描述
这里写图片描述
绑定事件,编写响应函数
这里写图片描述
这里写图片描述
这里写图片描述

编译运行点击线操作,属性会跳出
4添加新对话框和绑定类
在resource vie栏中点击,右键insert dialog
这里写图片描述
这里写图片描述
设置新类
这里写图片描述
点击OK
5对画框里填加控件并绑定变量
认识控件
这里写图片描述
控件有对应的ID号,有的需要绑定变量如编辑框,
这里写图片描述
这里写图片描述
绑定变量,右键ClassWizard
这里写图片描述
类似的添加颜色三原色m_red,m_green,m_blue

6开始画线
画线主要依靠鼠标左键和右键,这里左键下去打点,拖动,释放生成直线
在DrawView类中添加起点m_Spoint,终点m_epoint,
并对部分变量初始化,在构造函数里面
这里写图片描述
设置完后,开始找到鼠标左键按下和释放响应事件
这里写图片描述
这里写图片描述
这里写图片描述

设置线属性方法
设置点击菜单响应事件
这里写图片描述
7直线拾取
在画线的过程中,每一条线有起点、终点、线宽和颜色属性,我们需要将他们封装到类对象,再添加到数组,这里介绍容器CPtrArray, http://baike.baidu.com/link?url=7qXwzxYvw1_90D8XH7mksQKkUpoVASU_pL9t8OtVVz8JQ2VFx_9fG9IyOtkaOM0Xg_thebLxT1QYt2RNZB088H-1WMD2y8D_knQqtH2KUHu中查看详细用法
在cpp里面
这里写图片描述
这里写图片描述
OnlBUttonUp函数中,将每次画的线,存到数组m_ptrArray里面

设置获取函数
这里写图片描述
点击线时获取当前的点point(x,y),遍历数组中的每条直线,判断point到每条直线的两端的距离之差小于一个阈值。重新设置画笔属性,重绘该直线起点到终点,从而达到高亮显示,弹出对话框修改属性
这里写图片描述
8文件保存
遍历数组m_ptrArray,将内容取出,编码格式,存入TXT中
这里写图片描述
9文件打开
这里写图片描述
这里写图片描述
9重绘函数编写
可以借助本身的OnDraw也可直接写在打开文件那

在上述open函数中直接注释掉部分代码,并写入以下代码
这里写图片描述
效果图
这里写图片描述
这里写图片描述
这里写图片描述

  • 9
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值