Windows编程基础VS2010开发环境第05章 标准用户界面设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
菜单和加速键示例
图5-1 向导为项目生成的类信息
打开菜单资源编辑器
(2)打开“资源视图”标签,依次展开 S5_1、S5_1.rc、Menu节点,点击 IDR_MAINFRAME,打开菜单资源编辑器, 如图5-2所示。用鼠标按住最右边的虚框 (代表一个新的菜单项)将其拖动到Help 菜单的左边,选中此菜单,在右侧的菜单属 性对话框中,可以设置当前菜单项的各种属 性,如图5-3所示。
运行结果
Baidu Nhomakorabea 运行结果
运行结果
运行结果
主要内容
5.1 菜单与加速键 5.2 菜单应用 5.3 工具栏与状态栏 5.4 工具栏与状态栏应用
5.3 工具栏与状态栏
工具栏和状态栏是Windows系统中最常用 的两种界面元素。
工具栏是允许用户使用鼠标单击来执行命令 的带有按钮的小窗口,这使得用户能够更容 易地访问程序中的功能。因为从菜单触发命 令至少需要鼠标单击两次。而从工具栏中执 行命令仅需单击鼠标一次。但是,由于工具 栏占据屏幕空间,所以,用户只对那些经常 使用的命令添加工具栏按钮。
打开菜单资源编辑器
图5-2 菜单资源编辑器
设置当前菜单项的属性
图5-3 菜单属性框
设置菜单标题
(3)Caption项为菜单标题,在此我们输入“我 的菜单”,可以看到属性框的右上角有一图钉 状的图标,用鼠标单击则会将属性框固定,这 样进行其他操作时,属性框将不会自动隐藏。
(4)输入标题后,系统默认选中Pop-up框, 表示此菜单项为当前主菜单,其下应有子菜单, 在此我们为其添加如表5-1菜单项,最后,编 辑成的菜单如图5-4所示。
添加变量
图5-5 添加成员变量对话框
添加变量
在此我们添加3个公有类型的成员变量,变量类 型及名称如下:
CString m_Text; int m_x; int m_y; 其中m_Text变量用来存储需要显示的字 符串,m_x和m_y两个变量用来存储所要显示 文本的x和y坐标。
为菜单项添加消息相应函数
(7)在视图类中,为表5-1中的各菜单项添加 消息响应和用户状态更新函数,名称采用默认值, 如图5-6所示。
为菜单项添加消息相应函数
图5-6 添加成员函数对话框
为消息相应函数添加代码
(8)为消息响应和状态更新函数添加代码。
为消息相应函数添加代码
为消息相应函数添加代码
为消息相应函数添加代码
上述代码中注1的作用是:检测当前显示的 文本是否是该菜单项对应的内容,是则在该菜 单项前打上对号,注2的作用是:如果当前显 示文本不是该菜单项对应内容,则使该菜单可 用,否则,禁止该菜单项。
通常,Windows中的菜单由顶层的水平列 表以及分别与各项相连的下拉菜单所组成。 (还有其他一些菜单,如鼠标右键按下时弹 出的菜单等)。
当用户选择了顶层某个列表项时,就会弹出 其相连的菜单——称之为子菜单,弹出式子 菜单由多个菜单项组成。
菜单
菜单项一般可以分为三种:一种是只有菜单名称, 这种菜单项直接导致完成某种功能;另一种是菜 单项名称后有省略号,表示选择它将要弹出一个 对话框,用户需要在对话框中做进一步工作;最 后一种就是菜单项后有一个向右的小三角形箭头, 表示选中它会弹出一个菜单,这样就可以有多层 弹出式菜单。
菜单项及属性
菜单项的快捷键
菜单布局
图5-4 S5-1菜单布局
为菜单项添加加速键
(5)为每个菜单项添加加速键,选择“资源视 图”标签中的Accelerator项,用鼠标选中一项, 然后点击右键选择“新建快捷键”,在快捷键属 性中设置快捷键。
添加变量
(6)添加变量:由于菜单项的消息响应都是在 视图类中完成的,因此,为了简便,将变量也添 加在视图类中,在“类视图”中,选中 CS_5View点击右键选择“添加|添加变量”, 则弹出如图5-5所示的“添加成员变量”对话框。
如果某个键盘加速键与某个菜单项相连,则 它们的ID相同,而当该菜单项被禁止时, 相应的加速键也变为无效。
主要内容
5.1 菜单与加速键 5.2 菜单应用 5.3 工具栏与状态栏 5.4 工具栏与状态栏应用
5.2 菜单应用
一个具体的实例详细介绍菜单和加速键的一般用法。 实例S5_1
(1)利用向导建立一个SDI项目,项目名为: S5_1,向导中各项参数均取默认值,可参考第2 章项目实例。在向导的“生成的类”中,可以看 到,Visual C++ 2010将为S5_1项目生成4个类: CS5_1View、CS5_1App,CS5_1Doc, CMainFrame,如图5-1所示。
一般的菜单项中都有一个字符带有下划线,这是 让用户可以用键盘来选择菜单,对于顶层的菜单, 只要同时按下Alt键和某个带有下划线的字符键, 就能激活该菜单项,弹出其子菜单。当子菜单弹 出后,只要按下其中某个带下划线的字符键,即 可选择该菜单项。
菜单
用“应用程序向导”自动生成的应用程序框 架中已经包含了默认的菜单,根据用户在创 建时的不同选项,默认菜单的菜单项也有所 不同。其资源ID为ID_MAINFRAME,对 于SDI应用程序,只生成一个菜单,而对于 MDI应用程序,则生成两个菜单,其资源 ID分别为IDR_MAINFRAME和IDR_项目 名_TYPE,当应用程序尚未打开文档时,显 示第一个菜单,当程序打开文档时,显示后 一个菜单,默认菜单是在窗口创建时装入的。
第05章
标准用户界面设计
主要内容
5.1 菜单与加速键 5.2 菜单应用 5.3 工具栏与状态栏 5.4 工具栏与状态栏应用
5.1 菜单与加速键
菜单为所有的Windows应用程序提供了一 致的界面,并且操作方便简洁,菜单是 Windows资源中最重要的资源之一。
菜单有多种形式,如固定式,下拉式,弹出 式等。
加速键
键盘加速键是应用程序定义的键盘上的一个 或者两至三个组合键,给用户提供了一种选 择菜单项和执行某种任务的快捷方法。键盘 加速键可以和菜单项关联,也可以定义菜单 上没有提供的命令。
加速键
通常键盘加速键与某些重要的或者经常使用 的菜单项相关联,可让用户不必去选择菜单 项而快速激活相应命令,这类似于某些应用 程序定义的“热键”的功能,例如VS2010 中的“编辑|复制”对应Ctrl+C加速键,打 开类向导对应于Ctrl+Shift+X键等。