04界面编程2-控制条
21页1、第4章 界面编程2-控制条控制条(control bar,控制栏)包括工具条(tool bar,工具栏)和状态条(status bar,状态栏),它们是构建友好GUI程序的通用界面标准,但并不是Windows API的标准部件,而是由MFC应用程序框架增加的复合控件。工具条是CToolBar类的对象,状态条是CStatusBar类的对象,这两个类都是控制条类CControlBar的派生类,而CControlBar类又是从CWnd类派生的(参见图4-1):CObject CCmdTarget CWnd CControlBar CToolBar / CStatusBar图4-1 控制条的类层次图工具条和状态条都是放置在框架窗口内部的特殊控制条窗口,前者一般位于框架窗口顶部的菜单条之下,后者一般位于框架窗口的底部,它们随其父框架窗口的移动和大小改变而调整自己的长短与位置,参见图4-2 a)。 a)b)图4-2 工具条和状态条在MFC应用程序中,会自动生成工具条和状态条,并可以通过“视图”菜单中的“工具栏”和“状态栏”菜单项,来启用(显示)和禁用(隐藏)工具条和状态条,参见图4-2 b)。由M
2、FC应用程序框架负责管理控制栏对象的创建与显示,MFC应用程序向导为框架窗口类生成的控制栏代码位于MainFrm.h和MainFrm.cpp文件中。4.1 工具条设计MFC会为应用程序自动生成一个默认的可停靠工具条,包含若干(文件、编辑、打印、关于等)默认菜单项所对应的按钮。工具条设计的主要任务,是在该工具条中添加一些新按钮,以代表新增菜单中的若干常用菜单项,并将这些按钮与对应的菜单项ID关联在一起。当然,我们也可以创建新的工具条,并控制多个工具条的显示、隐藏、切换和停靠等。4.1.1 工具条工具条(tool bar)也叫工具栏,包含若干代表菜单项的图形按钮,是常用菜单项的可视界面。用鼠标单击工具条上的按钮,相当于启用对应的菜单项。1工具条按钮与菜单项工具条由若干可分组的图形按钮组成,一个工具条上所有按钮的图像属于同一个横条状位图,存储在同一个16色(4位)位图资源文件(*.bmp)中。每一个按钮按顺序对应于位图中的一个16像素宽15像素高的位图片断。应用程序框架会在工具条显示时,为每个按钮提供一个边框,并通过改变其边框和按钮图片的颜色,来表示按钮的按下和正常(松开)状态。不过,按钮的
3、分组,完全由程序代码决定,而与该位图资源无关。在应用程序中单击一个按钮后,会像菜单项和快捷键一样发送一个命令消息(一般对应于一个菜单项消息)。可以自己响应UI消息来改变按钮状态和图形,不过很少需要这样做。工具条只是常用菜单的可视界面,工具条上的按钮也只不过是对应菜单项的图示代表。程序员并不需要编写任何额外的独立代码,所需的工作就是绘制按钮的图形和关联对应的菜单项ID,其他的所有工作都由菜单项的相关属性和功能来完成,包括响应代码、提示信息、启用/禁用、被按下(对应于菜单项的被选中)等。2工具条的停靠工具条的自由停靠(docking)是指,用户可以通过用鼠标拖放位于工具条头部的钳夹(gripper)来将工具条放置到框架窗口客户区的任意位置,包括靠在客户区的顶(默认)、底、左、右和悬浮在客户区的中间,参见图4-3。从MFC 4.0 开始,工具条由Windows提供的工具栏通用控件来建立,是完全可停靠的,因此工具条也称为工具栏。由MFC应用程序向导自动生成的工具条默认是可停靠的。 图4-3 可停靠工具条3默认工具条默认工具条包含“新建”、“打开”、“保存”,“剪切”、“复制”、“粘贴”,“打印
4、”,“关于”等3组8个图形按钮,它们的图像位于同一个位图文件(resToolbar.bmp)中,参见图4-4。图4-4 默认工具条及其位图MFC应用程序向导生成的默认工具条资源脚本为(位于资源文件Student.rc中):IDR_MAINFRAME TOOLBAR 16, 15BEGIN BUTTON ID_FILE_NEW BUTTON ID_FILE_OPEN BUTTON ID_FILE_SAVESEPARATOR BUTTON ID_EDIT_CUT BUTTON ID_EDIT_COPY BUTTON ID_EDIT_PASTESEPARATOR BUTTON ID_FILE_PRINT BUTTON ID_APP_ABOUTEND其中,IDR_MAINFRAME为工具条资源ID(同默认菜单条的)、TOOLBAR为关键字、16和15为每个按钮图像块的宽和高(以像素为单位)、BUTTON(按钮)为关键字、ID_为按钮所对应的菜单项ID、SEPARATOR(分隔符)用于按钮分组。不过一般并不需要手工修改这些脚本,而是由VC提供的工具栏编辑器来代劳。4.1.2 编辑工具条我们仍以S
《04界面编程2-控制条》由会员大米分享,可在线阅读,更多相关《04界面编程2-控制条》请在金锄头文库上搜索。
中学体育教师工作总结范本.doc
最新建筑师述职报告范文
维修电工高级技师PLC操作技能习题集
24数值求解方法
安顺处理器项目投资计划书范文
500kV变电站工程屋外电缆沟施工设计方案SMC支架
国内研究报告生培养创新知易行难
《夏洛的网》读后感_18
《新教育每个月一事》读后感
教学类档案管理规范
三天情侣策划书
电气安全防护用品使用规定(二篇).doc
2023上半年安全工作总结标准范本(3篇).doc
首席技术官CTO的工作职责范文(三篇).doc
奥康集团职称评审管理办法
美国电网现状概况报告
安全生产事故隐患排查治理制度例文(五篇).doc
2023新版夫妻自愿离婚协议书标准范本(十篇).doc
公路内业资料范本
unit 11现在进行时
2023-02-16 9页
2023-09-17 53页
2023-10-16 8页
2023-11-30 7页
2023-01-09 21页
2022-10-02 45页
2023-10-18 109页
2022-08-11 5页
2023-04-07 3页
2022-08-13 6页