全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VC6讲座(十四)使用资源编辑器图14-1:目前的Schedule在上一讲中我们学习了排除编译错误和调试程序方面的一些知识,如果一切进行得很顺利的话,朋友们已经把Schedule运行起来了,如图14-1,这样的界面显然比较呆板,所以在这一讲中心铃就准备介绍一下资源编辑器的使用方法,为Schedule添加三幅用来表示状态的简单位图,并对AppWizard提供的缺省菜单与工具条进行修改,添加三个新的命令。l 资源编辑器简介VC6的资源编辑器能够编辑多种类型的资源。在VC6开发环境的Workspace窗口中切换到ResourceView,我们可以看到其中列有Accelerator(加速键)、Dialog(对话框)、Icon(图标)、Menu(菜单)、String Table(字串表)、Toolbar(工具条)和Version(版本信息)共七种类型的资源,除了这七种资源外,VC6的资源编辑器还支持编辑Bitmap(位图)、Cursor(光标)、HTML(HTML文档),以及自定义的二进制资源。在ResourceView中双击一个资源,VC6便会打开相应的编辑窗口,由于不同类型的资源差别较大,所以编辑窗口的外观和使用方法也有差异,但大致可以分为四类:图象编辑窗口(图标、位图、工具条、光标等)、对话框编辑窗口、菜单编辑窗口和字符编辑窗口(加速键、字串、版本信息等)。每种资源除了可以用其缺省的编辑窗口打开外,我们还可以单击鼠标右键,从关联菜单中选择以二进制方式打开。在ResourceView的不同地方单击鼠标右键调出的关联菜单中还提供了“Insert”、“Import”和“Export”等几个常用的命令,它们的功能分别是:插入一个新资源,从某些原始资源文件中导入资源,把选中的资源保存为单独的文件。比较遗憾的是,“Import”命令并不支持从EXE或DLL文件中直接提取资源,如果我们觉得某个程序的图标很好看并且想修改后用在自己的程序中,就必须利用第三方工具或抓图功能来获得该图标。添加一个新资源很容易,删除一项现有的资源就更容易了,只要在ResourceView中选择要删除的资源项,然后按下Del键即可。如果删除后又想恢复,那么可以在Edit菜单中选择“Undo”命令,或者在关闭资源文件时选择不保存。l 编辑位图图14-2:图象编辑窗口现在我们就利用“Insert”命令来插入一个新的位图资源,然后在ResourceView中选中它,单击鼠标右键后从关联菜单中选择“Properties”命令,调出其属性窗口(很多时候直接按下Alt+Enter组合键可能更方便),在该窗口中将其ID改为IDB_BLUELIGHT,存放在文件“resblueligh.bmp”中(当然也可以不改文件名,关系不大)。在插入位图后,一个图象编辑窗口就自动打开了,里面以正常和放大两种方式显示了一幅尺寸为4848的空位图,这个尺寸对我们来说太大了,我们可以在大小图标栏的任意空白地方单击一下鼠标左键,然后按下Alt+Enter调出位图的属性窗口(大家试试把属性窗口左上角的一个图钉样的按钮按下去,看看会有什么样的效果),在其中把位图的尺寸修改成1616,颜色数仍然为16色。图象编辑窗口打开之后会自动出现“Graphics”和“Colors”两个停靠式窗口(见图14-2),这是我们用来编辑位图的基本工具。“Graphics”和“Colors”两个窗口还被用来编辑图标、工具条和光标,但在编辑图标和光标时,“Colors”窗口中除了通常的16种颜色外,还提供了前景与背景两种特殊颜色可供选择。“Graphics”窗口提供了多种绘图工具,使用起来与Windows附件中的画图程序很相似,相信大家不会存在使用上的困难。心铃分别用蓝色和白色画了一大一小两个实心圆,接着又画了一条蓝色的斜线,最后利用Pencil工具修改了一下,得到了图14-2中所示的位图,是不是很象禁停标志?呵呵,请原谅心铃没有什么艺术细胞,擅长绘画的朋友请自己设计一幅更好的位图吧。接下来,我们再插入两幅位图,分别修改它们的ID为IDB_GREENLIGHT和IDB_REDLIGHT,文件名分别为“resgreenlig.bmp”和“resredlight.bmp”,同样把新位图的尺寸设定为1616。我们先切换回蓝色位图的窗口,选中位图(无论是在正常还是在放大显示窗口栏中)后按下Ctrl+C(或工具栏中的拷贝按钮),然后切换到新位图的窗口,按下Ctrl+V(或工具栏中的粘贴按钮),这样就把蓝色位图拷贝到了新位图中,最后利用Fill工具把两幅新位图分别填充成绿色和红色就可以了。拷贝与粘贴操作在编辑相似的位图时很有用,可以帮助我们节约很多时间。在某些情况下,原始位图的尺寸大小可能不等于目标位图的尺寸大小,粘贴完毕后目标位图可能有空的地方,或者只能看见原始位图的一部分区域,这时我们可以使用图象编辑窗口提供的缩放功能,把粘贴过来的原始位图放大或缩小一些,例如在编辑图标时,我们可以先设计好尺寸为4848的大图标,然后利用缩放功能便可以直接得到尺寸为1616的小图标和3232的标准图标。位图编辑好了之后,我们便可以把第十二讲中给出的CScheduleView:OnInitialUpdate()和CScheduleView:OnUpdate()函数中与位图有关的代码前面的注释符号删去,然后重新建立工程并运行一下,现在程序界面是不是要稍微好看一点了?l 编辑菜单菜单是用户操作和控制一个基于窗口的Windows程序的主要手段之一,其中包含了程序可以接受处理的大部分命令。AppWizard为单文档程序生成了一个缺省的主菜单IDR_MAINFRAME,其中提供了与文件操作、编辑操作、视图和帮助有关的一些缺省命令,对多文档程序来说,AppWizard则生成了两个缺省菜单,一个在打开了文档时使用,另一个则在关闭了所有文档时使用。同样在ResourceView中双击菜单资源IDR_MAINFRAME,便可打开菜单编辑窗口,其中显示了主菜单的顶级菜单项,单击一个项目后编辑窗口就会显示出它的子菜单项,无论选中顶级菜单项还是子菜单项,按下Enter或者Alt+Enter键都可调出其属性窗口,经过仔细观察后我们可以发现,所有的顶级菜单项都具有Pop-up(即弹出式)风格,并且都没有ID值,原因是这几个顶级菜单项都有下一级弹出式菜单,所以它们必须具有Pop-up风格,当然,顶级菜单项也可以拥有一个ID,但这样它就不能拥有自己的Pop-up菜单了,即不能有下一级菜单。在文件子菜单中,我们可以看到常见的分隔条,其实它是一个特殊的菜单项,具有Separator风格,在运行时不可选。很多菜单项都拥有一个快捷键,以帮助用户快速选择一个菜单项,例如文件菜单的快捷键为Alt+F,打开文件菜单后,再按O键便可选择打开命令,按X键便可退出程序等等,这些快捷键是在每个菜单项的Caption属性中指定的,我们只需要在某个字母前加上一个“&”号,便指定了以该字母为快捷键。另外,新建和打开等命令还具有Ctrl+N和Ctrl+O这样的加速键(或称为热键),这其实是在Accelerator资源中指定的,菜单项的Caption中包含的键名只作为提示文字来使用,关于如何修改Accelerator资源,就请大家自己动手试试,很容易的。我们可以利用Ins键来为现有的菜单插入一个新的菜单项,然后在其属性窗口中设置ID和Caption,对于拥有Pop-up菜单的菜单项(不一定是顶级菜单项,子菜单项也可以拥有Pop-up菜单,这样就可以建立起多级菜单)和分隔条来说,则应设置其风格分别为Pop-up和Separator。要删除一个菜单项目时,可以先选中它,然后按Del键,此处的删除是可以用Undo恢复的。除了显示在程序窗口上方的主菜单外,很多Windows程序也经常使用独立的弹出式菜单,例如关联菜单,第十八讲中将介绍这种弹出式菜单的使用方法。图14-3:编辑菜单资源了解了如何编辑菜单后,我们首先来把文件菜单中的“最近文件”命令及其上方的分隔条删除,因为Schedule不需要用到最近使用文件列表,接下来我们在查看和帮助菜单之间插入一个顶级菜单项,令其Caption为“安排(&T)”,并设置Pop-up风格,然后在其子菜单中依次加入三个菜单项,设定Caption分别“添加条目(&A)”、“删除条目(&D)”和“编辑条目(&E)”,ID分别为ID_ADDTASK、ID_DELETETASK和ID_EDITTASK,如图14-3所示。大家还可以在属性窗口中为每个菜单项添加Prompt提示信息,当用户用鼠标在菜单命令之间移动时,这些信息将会被显示在程序主窗口的状态条中。另外,Schedule的主菜单中还有多条命令都用不着,它们就留给大家自己来决定是否删除。菜单编辑完毕后,我们重建工程并运行一下,可以发现安排菜单下的三个命令都处于灰色不可选状态,这是为什么呢?原因在于我们还未给这三个命令添加消息处理函数。为此,我们按下Ctrl+W组合键把ClassWizard调出来,可以发现三个命令的ID均已列在了Message Maps栏的Object IDs中,现在需要决定由哪个类来处理这三个命令,考虑到它们的操作都直接关系到修改存放事件条目的链表,所以心铃决定在文档类中来处理它们,当然在视类中处理它们也是可以的,大家可以自己试试。在ClassWizard中分别选中三个命令的ID,Messages列表框中就会出现COMMAND和UPDATE_COMMAND_UI两个选项,COMMAND用来处理命令,UPDATE_COMMAND_UI用来在合适的时候改变菜单选项的状态。通过双击COMMAND,我们便可分别为三个命令添加OnAddtask()、OnDeletetask()和OnEdittask()三个处理函数,至于函数体内的代码将在第十六讲中给出。l 编辑工具条一个Windows程序的工具条通常包含了与一些常用菜单命令等价的命令按钮,用户按下这些按钮的效果等同于选择了对应的菜单命令,由于工具条比菜单更易使用,所以目前绝大多数Windows应用程序都提供了工具条。图14-4:编辑工具条资源AppWizard生成的程序框架中也包含了一个缺省的工具条IDR_MAINFRAME(大家也许注意到了这个ID与主菜单的ID相同,这是允许的,工具条和菜单属于不同类型的资源,装载它们需要使用不同的函数,因此不会产生混淆),其中有一些缺省的按钮。我们现在要做的是在工具条的右端添加三个按钮,分别代表“添加条目”、“删除条目”和“编辑条目”三个命令。工具条编辑窗口(见图14-4)也是图象编辑窗口的一种,同样有“Graphics”和“Colors”窗口,绘制单个按钮的方法与绘制位图类似。我们首先在编辑窗口上方显示的整个工具条上把帮助(问号)按钮右边的空白按钮选中,并向右拖动少许距离再放下,这样就便在按钮之间留下了一个分隔条。除了上述情况外,在编辑工具条时还有两种情况需要用到拖动操作:如果我们要在现有的按钮之间插入新的按钮,那么可以把空白按钮拖动到合适的地方并放下,如果我们要删除一个按钮,可以把该按钮远远拖出工具条并放下。接下来我们依次编辑“添加”、“删除”和“编辑”三个按钮,并指定它们的ID分别为ID_ADDTASK、ID_DELETETASK和ID_EDITTASK,即与它们对应的菜单命令的ID相同,当用户按下这些按钮后,文档类的OnAddtask()、OnDele
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年分销合作协议
- T∕CHEAA 0052-2025 家用洗地机基站安装配置要求
- 《数控机床加工零件》课件-其他典型车削工艺1
- 2025年巴中市恩阳区招聘综合应急救援队员真题
- 2025年台山大湾控股发展集团有限公司招聘真题
- 2025年福州市仓山区行政服务中心管理委员会招聘真题
- 《商务数据可视化》课件-3.2 掌握power bi的安装 黄博雯
- 2026广东江门公用能源环保有限公司招聘2人考试备考试题及答案解析
- 2026年阿坝市殡葬管理服务系统事业单位人员招聘考试备考试题及答案详解
- 2026上海市荣誉军人疗养院工作人员公开招聘笔试备考试题及答案解析
- 2026年真空镀膜机电源行业分析报告及未来发展趋势报告
- 2025年劳动保障监察大队招聘考试真题(附答案)
- 煤矿尽职调查报告
- 江苏省建筑与装饰工程计价定额(2014)电子表格版
- 苗木采购投标方案(技术方案)(技术方案)
- 拨叉的课程设计说明书
- 液压升降平台安装施工方案
- 自然资源登记单元代码编制规则 编制说明
- 中考语文复习专题训练-丁立梅作品阅读训练
- 【炒股必看】股票基础学习-实战篇、股票入门、股票基础知识、股市入门、炒股、股市、股市入门基础知识
- 浙江省安全台账
评论
0/150
提交评论