MFC之画线方法

xiaoxiao2021-02-28  64

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函数中直接注释掉部分代码,并写入以下代码 效果图

转载请注明原文地址: https://www.6miu.com/read-71956.html

最新回复(0)