270 likes | 459 Views
第 7 章 菜单与工具栏. 7.1 菜单基本知识 7.2 下拉式菜单设计 7.3 * 命令定义菜单 7.4 顶层表单的菜单 7.5 快捷菜单设计 7.6 * 创建自定义工具栏. 7.1 菜单基本知识. 菜单简介 菜单是 Windows 中最常用的程序选项之一,它能为用户提供一个友好的界面,使用户能够直观地进行操作。 一般的菜单系统由 菜单栏、菜单标题、菜单和菜单项 组成。. 7.1 菜单基本知识. 菜单栏: 位于窗口标题下的水平条形区域,用于放置各菜单标题。 菜单标题: 用于标识菜单。
E N D
第7章 菜单与工具栏 7.1 菜单基本知识 7.2 下拉式菜单设计 7.3 *命令定义菜单 7.4 顶层表单的菜单 7.5 快捷菜单设计 7.6 *创建自定义工具栏 1
7.1 菜单基本知识 • 菜单简介 • 菜单是Windows中最常用的程序选项之一,它能为用户提供一个友好的界面,使用户能够直观地进行操作。 • 一般的菜单系统由菜单栏、菜单标题、菜单和菜单项组成。 2
7.1 菜单基本知识 • 菜单栏:位于窗口标题下的水平条形区域,用于放置各菜单标题。 • 菜单标题:用于标识菜单。 • 菜单:由一系列的菜单项组成,包括命令、过程和子菜单。 • 菜单项:可执行用户指定的一个命令或过程,或者弹出下一级子菜单。每个菜单项有一个名称,称为菜单标题或者菜单项名。子菜单中的菜单项也称为子菜单项。 3
7.1 菜单基本知识 • 在VFP中,菜单可分为条形菜单和弹出式菜单两大类型(如图所示)。 4
7.1 菜单基本知识 • 每一个条形菜单都有一个内部名称和一组菜单项,每个菜单项都有一个标题和内部名称; • 每一个弹出式菜单也有一个内部名称和一组菜单选项,每个菜单项则有一个标题和选项序号(或系统菜单项内部名称)。 • 菜单项的标题显示于屏幕供用户选择。 • 菜单及菜单项的内部名称或选项序号则用于在程序代码中引用。 • 每一个菜单项都可以有选择地设置一个热键和一个快捷键。热键通常是一个字符,当菜单激活时,可以按菜单项的热键快速选择该菜单项。快捷键通常是Ctrl键和另一个字符键组成的组合键。不管菜单是否激活,都可以通过快捷键选择相应的菜单选项。 5
7.1.1 系统菜单 • 1.Visual FoxPro系统菜单的结构 • Visual FoxPro系统菜单是一个典型的菜单系统,分为主菜单和子菜单,其主菜单是一个条形菜单,在主菜单中各选项的标题及内部名称如教材表7-1所示。 • 在Visual FoxPro中,系统菜单的内部名称是_MSYSMENU,也可看作是整个菜单系统的名字。选择条形菜单中的每一个菜单项都会激活一个子菜单(弹出式菜单),各弹出式菜单的内部名称如课本表7-1所示。“文件”子菜单中常用菜单项的选项名称和系统内部名称如课本表7-2所示。 6
7.1.1 系统菜单 • 2.Visual FoxPro系统菜单的使用 • 通过SET SYSMENU命令可以用来管理使用Visual FoxPro菜单系统的菜单。使用SET SYSMENU命令,可以允许或者禁止在程序执行时访问系统菜单,或从菜单中移去菜单项,或还原默认的Visual FoxPro系统菜单。命令格式是: • SET SYSMENU ON | OFF | AUTOMATIC |TO[(弹出式菜单名表>]| TO[(条形菜单项名表>] TO[DEFAULT]| SAVE | NOSAVE • 其中各参数的含义是: • ON:允许程序执行时访问系统菜单。 • OFF:禁止程序执行时访问系统菜单。 • AUTOMATIC:使系统菜单在程序执行期间显示出来,可以访问系统菜单。 7
7.1.1 系统菜单 • TO[(弹出式菜单名表>]:重新配置系统菜单,以菜单项内部名称列出可用的弹出式菜单。 • TO[(条形菜单项名表>]:重新配置系统菜单,以条形菜单项内部名称列出可用的子菜单。 • TO DEFAULT:将系统菜单恢复为缺省配置。 • SAVE:将当前的系统菜单配置指定为缺省配置。 • NOSAVE:将缺省配置恢复成Visual FoxPro系统菜单的标准配置。 • 提示: • SET SYSMENU命令控制程序运行期间的Visual FoxPro主菜单栏。它允许有选择地移去Visual FoxPro菜单系统中的菜单标题和菜单,并可以将其恢复。要将系统菜单恢复成标准设置,可先运行SET SYSMENU NO SAVE命令,然后再运行SET SYSMENU TO DEFAULT命令。 8
7.1.2 下拉式菜单与快捷菜单 • Visual FoxPro菜单一般可以分为下拉式菜单和快捷菜单。 • 1.下拉式菜单 • 下拉式菜单是一种最常见的菜单,下拉式菜单由菜单栏、菜单标题、菜单项等组成。菜单栏位于窗体的标题栏下面,包含一个或多个菜单标题。若单击一个菜单标题(如“格式”),则包含该菜单项的列表就被弹拉下来. 9
2.快捷菜单 • 在Windows操作系统中,当鼠标指向桌面空白区域右击,就会出现一个菜单,这就是快捷菜单。快捷菜单是一种显示在窗体上的浮动菜单,由弹出式菜单所组成。快捷菜单通常用鼠标右键来激活,使用起来灵活而方便,在各种数据库应用程序中得到了广泛应用。 11
7.1.3 菜单设计器 12
7.1.3 菜单设计器 13
7.1.3 菜单设计器 14
7.1.3 菜单设计器 15
7.1.3 菜单设计器 16
7.2 下拉式菜单设计 • 用菜单设计器设计菜单的基本过程 • (1)规划与设计菜单系统 • (2)设计菜单和子菜单 • (3)为菜单系统指定任务 • (4)生成菜单程序 • (5)测试与完善菜单系统 17
7.4 顶层表单的菜单 • 在顶层表单中添加一个下拉式菜单,该菜单与顶层表单一起使用,可替代某些控件完成所需任务,使界面窗口功能更强,更加美观、简洁。 18
7.4 顶层表单的菜单 • 为顶层表单添加下拉式菜单的步骤如下: • (1)在“菜单设计器”中设计一个下拉式菜单。 • (2)设计菜单时,在“常规选项”对话框中选择“顶层表单”复选框,并保存菜单。 • (3)将表单的ShowWindow属性值设置为“2-作为顶层表单”,使其成为顶层表单。 19
7.4 顶层表单的菜单 • (4)在表单的Init事件代码中添加调用菜单程序的命令, • 格式为:DO Filename WITH THIS [,″MenuName″] • ·Filename指定被调用的菜单程序文件(.MPR不能省略) • ·This表示当前表单对象的引用。 • ·通过“MenuName”可以为被添加的下拉式菜单的条形菜 单指定一个内部名称。 • (5)在表单的Destroy事件代码添加清除菜单的命令,使得在关闭表单时能同时清除菜单,释放其所占用的内存空间。 • 格式为:RELEASE MENU MenuName[EXTENDED] • 其中的EXTENDED表示在清除条形菜单时一起清除其下属的所有子菜单。 • (6)保存表单,运行表单文件 20
7.4 顶层表单的菜单 • 【例7-8】创建一个顶层表单myform1.scx(表单的标题为"考试"),然后创建并在表单中添加菜单(菜单的名称为mainmenu1.mnx,菜单程序的名称为mainmenu1.mpr)。效果如下图所示。 (1)菜单命令“计算”和“退出”的功能都通过执行过程完成。 (2)菜单命令“计算”的功能是根据student和score表中的相关数据计算每名选课同学的平均成绩,包括学号、姓名和平均成绩字段,输出结果按平均成绩降序排列 (3)菜单命令“退出”的功能是释放并关闭表单。 21
7.4 顶层表单的菜单 计算结果 22
7.5 快捷菜单设计 • 快捷菜单是指在控件或对象上单击鼠标右键时显示的菜单。该菜单可以快速展示当前控件或对象可用的所有功能。使用Visual FoxPro提供的快捷菜单设计器可以创建快捷菜单,并将这些菜单附加在控件上。主要步骤如下: • (1)单击“新建”按钮。选择“菜单”,在“新建菜单”对话框中单击“快捷菜单”按钮,便进入了“快捷菜单设计器”窗口。 • (2)在“快捷菜单设计器”中添加菜单项并为各菜单项添加任务。 • (3)选择“显示”菜单中的“常规选项”命令,选择“清理”,添加清除菜单的命令:RELEASE POPUPS 快捷菜单名 [EXTENDED] • (4)保存并生成菜单程序文件。 • (5)在表单设计器环境下,选定需要添加快捷菜单的对象。 • (7)在选定对象的RightClick事件代码中添加调用快捷菜单程序 的命令,格式为:DO 快捷菜单程序文件名.mpr, • 其中文件的扩展名.mpr不能省略。 23
7.5 快捷菜单设计 • 1. 建立表单,表单文件名和表单控件名均为myform2.为表单建立快捷菜单quickmenu,快捷菜单有两个选项,“日期”和“时间”,两个选项之间用分组线分隔;运行表单时,在表单上单击鼠标右键弹出快捷菜单,选择“日期”菜单项,表单标题将显示当前系统日期,选择“时间”菜单项,表单标题将显示当前系统时间。 • 说明:显示日期和时间是通过“过程”实现的。 24
扩展功能 25
总结 26
习题答案 • 一、选择题 • 1~5 CACBD 27