




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章MFC交互绘图基础
在上一章我们所创建的应用程序中,通过添加的菜单项实现了简
单的用户和应用程序的交互。用户可以通过选择菜单项,定义使用的
画笔和画刷,并通过选择菜单项执行相应的绘图代码来看绘制的图
形。但是该应用程序有很多缺点,比如绘制的图形有限,想要绘制新
的图形必须修改代码;通过菜单处理函数执行的绘图代码因为没有将
图形的信息存储起来,导致图形在窗口进行视图重画时不能够正确显
示等等。通常情况下,用户需要使用更灵活的方式来绘制图形。比如
像Windows中的“画图”程序一样,用户使用鼠标绘制图形,可以更
灵活方便的设置绘图使用的画笔和画刷的类型,并且希望绘制完的图
形可以保存起来,以后可以再次打开以前所绘制的图形并进行编辑。
本章将以编写一个简单的绘图应用程序为例,介绍如何在MFC
中实现鼠标绘图,如何定义图元的结构以保证应用程序可以正确的重
画用户绘制的图形,如何选择和编辑已有的图形,如何保存图形到永
久存储介质中等等的编程方法。
这个简单的绘图应用程序将实现以下基本功能:用户使用鼠标绘
制图形;通过对话框设置绘制图形使用的线型和颜色以及填充封闭区
域的模式和颜色;用户可以选择已经绘制的图形,并可以对该图形进
行编辑;可以保存绘制完的图形到永久存储介质(这里是硬盘)中,
以便以后可以读取以前绘制的图形,并再次进行编辑。
2.1创建工具条
创建一^新的MFC项目,项目名称为DrawMap。创建该项目
时各步的设置与上一章中创建DrawTest项目时相同,只是在“MFC
AppWizard-Step4of6"对话框中不选择Printingandprint
preview复选框。
在上一章的应用程序中,用户需要通过选择菜单项来选择要执行
的功能。当菜单项的层数比较多的时候,用户需要点击的次数较多。
对于一些常用的功能,用户会希望能够更容易的选择到,此时就可以
使用工具条。
对于本章中要创建的绘图应用程序来说,绘图功能是常用功能,
所以可以将这些功能的选择做成工具条。用户通过点击工具条按钮,
就能选择要绘制的图形的类型,然后用鼠标进行绘图。
2.1.1添加新工具条
我们创建应用程序项目时,在“MFCAppWizard-Step4of6"
对话框中选择了Dockingtoolbar复选框,此时系统会在应用程序中
创建一个默认的初始工具条。该工具条的样式如图2.1所示。
―卬/电|闿圜智|GT
图2.1默认初始工具条
我们可以修改此工具条,在该工具条中添加新的按钮来对应绘图
功能。不过,通常情况下,因为一个应用程序窗口可以有多个工具条,
为了把相类似的功能放在同一个工具条中,我们准备在绘图应用程序
中添加一个新的工具条,把绘图功能按钮放在该工具条中。在已有的
工具条中添加新的按钮和在新建的工具条中添加按钮是一样的,所以
读者只需要学会如何添加新的工具条,也就学会了如何修改已有的工
目至
选择资源面板,用鼠标右键点击“丁。。匕2广'节点,弹出快捷菜单,
如图2.2所示。
SaveDrawMap.rc
Insert...
InsertToolbar
Import...
3DockingView
Hide
Properties
图2.2资源面板快捷菜单
在快捷菜单中选择"Insert...",出现"InsertResource”对话框,如
图2.3所示。
图2.3添加资源对话框
该对话框用于在项目中添加各种资源。对话框左边的列表框中列
出了可添加的资源种类。选择“Toolbar",添加一个新的工具条资源,
然后单击“New”(新建)按钮,系统会在项目中添加一个新的工具条。
也可以在图2.2的快捷菜单中选择“InsertToolbar”直接插入一个工具
条。
此时,在资源面板的“Toolbar”节点下我们会看到两个节点。一个
是“IDR_MAINFRAME”,该工具条是默认的初始工具条。另一个是
“IDR_TOOLBAR1",它是我们新添加的工具条,名称是系统起的默认
名称。用鼠标右键点击该节点。在弹出的快捷菜单中(图2.2所示快
捷菜单)选择"Properties",会出现"ToolbarProperties'^工具条属性
对话框),如图2M4所示。
图2.4工具条属性对话框
在“ID”下拉框中,我们可以修改当前工具条的ID,该ID用于标
识工具条。此处我们将此ID修改为IDR_DRAWO
添加新工具条完毕,现在需要在工具条中添加工具条按钮。在资
源面板中选中“IDR_DRAW”节点,我们可以在右侧的工具条编辑区中
编辑此工具条,如图2.5所示。
回
口Q
;a
4
、>
口口
0
@
0。
辑区
具条编
5工
图2.
个
有一
中只
具条
在工
式,现
的样
具条
后工
完成
端是
的上
辑区
在编
钮的
条按
工具
中的
是选
左侧
部的
的。下
添加
自动
系统
钮,是
的按
空白
的
按钮
具条
制工
中绘
区域
在该
,用户
制区
的绘
按钮
间是
览。中
样式预
,
工具
绘图
单的
户简
给用
提供
具条
,该工
具条
图工
是绘
。右侧
样式
图形
钮。
条按
工具
绘制
用于
可以
几
中有
具条
该工
确定
需要
之前
。在此
按钮
具条
制工
来绘
我们
现在
图
择绘
于选
是用
制的
要绘
现在
我们
能。
么功
是什
钮都
个按
钮,每
个按
可以
用户
备让
中准
程序
应用
绘图
建的
要创
本章
钮。在
具条按
的工
类型
椭
其中
区域。
,矩形
区域
,椭圆
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 考虑能效的自动驾驶路径规划与能量管理策略论文
- 中国医药销售外包(CSO)行业市场前景预测及投资价值评估分析报告
- 节日前队伍管理制度
- 苯加氢安全管理制度
- 茶艺师工作管理制度
- 课程推广文案范文(26篇)
- 行业处理计划微信销售履行技能策划计划胜利案例
- 流川枫灌篮作文法-具体细节描写法
- 环保小课题研究案例
- 自动化专业求职简历(15篇)
- 2023年南京市中考历史试题及答案
- 2024届安徽省淮南市西部地区七年级数学第二学期期末达标测试试题含解析
- 新入职护士妇产科出科小结
- 第4课《直面挫折+积极应对》第1框《认识挫折+直面困难》【中职专用】《心理健康与职业生涯》(高教版2023基础模块)
- 农产品安全生产技术
- 公交车事故分析与预防措施
- 我的家乡江西九江宣传介绍
- 构网型逆变器技术综述
- 高层建筑施工进度计划表doc111
- 【语文】陕西省西安市高新一小小学三年级下册期末试卷(含答案)
- 肿瘤防治科普丛书:胃肠肿瘤
评论
0/150
提交评论