38
VFP 课课课课课 课课课 课课课课课课课

第八章 菜单设计与应用

  • Upload
    jayden

  • View
    77

  • Download
    0

Embed Size (px)

DESCRIPTION

第八章 菜单设计与应用 . 1. Visual FoxPro 系统菜单. 2. 菜单设计. 3. 快捷菜单设计. 目录. 8.1 Visual FoxPro 系统菜单 . 在 Windows 环境下,常见的菜单类型有两种:下拉式菜单和快捷菜单。 一、下拉式菜单 一般是由一个称作“主菜单”的条形菜单栏和一组称作“子菜单”的下拉式菜单组成。 条形菜单栏一般位于应用程序窗口的标题栏的下方,是一个启动应用程序后始终都可以看到的菜单名列表栏。菜单栏中的每个菜单名代表一个主菜单项,每一个主菜单项可以直接对应一个命令或过程。 - PowerPoint PPT Presentation

Citation preview

Page 1: 第八章  菜单设计与应用

VFP 课程建设组

第八章 菜单设计与应用

Page 2: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

目录

Visual FoxPro 系统菜单 1

菜单设计 2

快捷菜单设计 3

Page 3: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.1   Visual FoxPro 系统菜单

在 Windows 环境下,常见的菜单类型有两种:下拉式菜单和快捷菜单。 一、下拉式菜单 一般是由一个称作“主菜单”的条形菜单栏和一组称作“子菜单”的下拉式菜单组成。 条形菜单栏一般位于应用程序窗口的标题栏的下方,是一个启动应用程序后始终都可以看到的菜单名列表栏。菜单栏中的每个菜单名代表一个主菜单项,每一个主菜单项可以直接对应一个命令或过程。 通常,每一个主菜单项对应有一个下拉菜单作为它的子菜单,子菜单中包含了一组菜单选项。子菜单中的每个菜单项可直接对应一条命令,也可对应于下一级子菜单,子菜单里又可以包含一组相关的菜单项,从而形成一种级联的菜单结构。

8.1.1  菜单结构

Page 4: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.1.1  菜单结构 在子菜单中,对功能上密切相关的菜单项可以放置分隔线划分菜单选项的组别。菜单项一般都有一个热键,用括号中带下划线的字母表示,同时按 ALT 键和带下划线的字母键即可下拉出所代表的菜单。快捷键通常是 Ctrl 键和另一个字符键组成的组合键,不论菜单是否激活,都可以通过快捷键选择相应的菜单项。如图 8-1 所示。

图 8-1 VFP 系统菜单

Page 5: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.1.1  菜单结构 二、快捷菜单 当鼠标指针指向某个界面对象单击鼠标右键,通常会弹出一个快捷菜单,列出针对当前对象的各种可用命令,免除了在主菜单中一一查找的麻烦。快捷菜单一般只有一个弹出式菜单。菜单组中的每个菜单项可直接对应于一条命令,也可对应于一个级联子菜单。图 8-2

是在 VFP 命令窗口右击时弹出的快捷菜单,其中列出了与命令窗口操作有关的命令项。

图 8-2 快捷菜单

Page 6: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.1.2  系统菜单 Visual FoxPro 系统菜单是一个典型的菜单系统,其主菜单是一个条形菜单。选择条形菜单中的每一个菜单项都会弹出一个下拉菜单。 在 Visual FoxPro 中,每一个条形菜单都有一个内部名字和一组菜单选项,每个菜单选项都有一个名称(标题)和内部名字。例如, Visual FoxPro 主菜单的内部名字为

_MSYSMENU ,条形菜单项“文件”、“编辑”和“窗口”的内部名字分别为_MSM_FILE , _MSM_EDIT , _MSM_WINDOW 。

每一个弹出式菜单也有一个内部名字和一组菜单选项,每个菜单选项则有一个名称(标题)和选项序号。例如, _MFILE , _MEDIT , _MWINDOW 为弹出式菜单项“文件”、“编辑”和“窗口”的内部名字。菜单项的名称用于在屏幕上显示菜单系统,而内部名字或选项序号则用于在程序代码中引用。

Page 7: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.1.2  系统菜单 通过 SET SYSMENU 命令可以允许或禁止在程序执行时访问系统菜单,也可以重新设置系统菜单。 命令格式: SET SYSMENU ON|OFF|AUTOMATIC |TO [< 弹出式菜单名表

>]|TO [< 条形菜单项名表 >]|TO [DEFAULT]|SAVE|NOSAVE 其中: ON 允许程序执行时访问系统菜单; OFF 禁止程序执行时访问系统菜单; AUTOMATIC 可使系统菜单显示出来,可以访问系统菜单; TO 子句用于重新设置系统菜单:“ TO [< 弹出式菜单名表 >]” 以菜单项内部名字列出可用的弹出式菜单,“ TO [< 条形菜单项名表 >]”以条形菜单项内部名字列出可用的子菜单,“ TO [DEFAULT]” 将系统菜单恢复为缺省配置; SAVE 将当前系统菜单配置指定为缺省配置; NOSAVE 将缺省设置恢复成 Visual FoxPro 系统的标准配置。

Page 8: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.1.2  系统菜单 【例 8-1 】要求仅保留 Visual FoxPro 系统菜单的“文件”、“工具”、“窗口”和“格式“菜单,其他选项从系统菜单中移去。 在命令窗口输入以下命令并执行,执行后系统菜单显示效果如图 8-3 所示。 命令序列: SET SYSMENU TO _MFILE,_MTOOLS,_MWINDOW,_MSM_TEXT

图 8-3 设置后的菜单窗口

Page 9: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.1.2  系统菜单 【例 8-2 】将系统菜单恢复成标准菜单。 命令序列: SET SYSMENU NOSAVE SET SYSMENU TO DEFAULT 逐条执行上述命令后,系统菜单将恢复成标准设置。 【例 8-3 】从“文件”菜单项的下拉菜单中移去“新建”和“打开”菜单项。 通过 RELAEASE BAR 命令可以从指定的菜单中移去指定的菜单项。 命令格式: RELEASE BAR < 下拉菜单项名 > OF < 菜单项名 > 命令序列: RELEASE BAR _MFI_NEW OF _MFILE RELEASE BAR _MFI_OPEN OF _MFILE 逐条执行上述命令后,“文件”菜单项的下拉菜单中移去了“新建”和“打开”两个菜单项。

Page 10: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8 . 2 菜单设计 开发一个应用程序通常都需要创建自己的菜单系统。不管应用程序的规模多大,打算使用的菜单多么复杂,创建菜单系统都需要以下步骤: 第 1 步:规划与设计系统:确定需要哪些菜单、出现在界面的何处以及哪几个菜单要有子菜单等等。 第 2 步:创建菜单和子菜单:使用菜单设计器可以定义菜单标题、菜单项和子菜单。 第 3 步:按实际要求为菜单系统指定任务:指定菜单所要执行的任务,例如显示表单或对话框等。另外,如果需要,还可以包含初始化代码和清理代码。初始化代码在定义菜单系统之前执行,其中可以打开文件;声明变量;或将菜单系统保存到堆栈中,以便可以在后面的程序执行中恢复。清理代码中包含的代码在菜单的定义代码之后执行,使菜单和菜单项可用或不可用。 第 4 步:生成菜单程序。 第 5 步:运行生成的程序,测试菜单系统。

Page 11: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.2.1  菜单设计器 要创建用户的菜单系统,可以使用菜单设计器。 进入菜单设计器的方法有多种,最简单的方法是:从“文件”菜单中,选择“新建”菜单项,得到新建对话框,选中“菜单”单选按钮,单击“新建文件”按钮进入菜单设计器窗口,如图 8-5 所示。

图 8-5 “ 菜单设计器”对话框

Page 12: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.2.1  菜单设计器 菜单设计器窗口主要由以下几部分组成: ( 1 )菜单名称该列用于指定各菜单项的标题名称及菜单项的访问键。例如:定义一个标题名为“文件”的菜单项,并设置其访问键为 F键,可在菜单名栏中输入“文件( \<F )”。 要用分隔线功能将相关的菜单项分别成线,在“菜单名称”栏中键入“ \-” ,便可创建一条分隔线。此外,在每个菜单项的前面有一个小方块按钮,当鼠标移动到它的上面时形状会变成上下双箭头的样子。这个按钮是标准的移动指示器,用鼠标上下拖动它可以改变当前菜单项在菜单列表中的位置。

Page 13: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.2.1  菜单设计器 ( 2 )结果 该列用于指定激活菜单项时的动作,有以下 4 个选项: ①子菜单:如果用户所定义的当前菜单项还有子菜单的话应选择这一项。当选中该项后,在其右侧将出现一“创建”按钮,单击“创建”按钮后将进入新的一屏来设计子菜单。 ②命令:如果当前菜单项的功能是执行某种动作的话应选择这一项。当选中该项后,在其右侧出现一文本框,在这个文本框中输入要执行的命令。这个选项仅对应于执行一条命令或调用其他程序的情况。如果所要执行的动作需多条命令完成,而又无相应的程序可用,那么在这里应该选择“过程”。 ③主菜单名 /菜单项 # :主菜单名项出现在定义主菜单时,菜单项 # 出现在定义子菜单项时。当选中这一项时,在其右侧出现一文本框,用户可在文本框输入一个名字。选择这一项的目的主要是为了在程序中引用它。例如,利用它来设计动态菜单。如果用户不选择这一项,系统也会为各个主菜单和子菜单指定一个名称的,只是用户不知道而已。 ④过程:用于定义一个与菜单相关联的过程,当用户选择了该菜单项后将执行这个过程。如果选择了这项,在其右侧将出现一“创建”按钮,按下该按钮将调出编辑窗口供输入过程代码。

Page 14: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.2.1  菜单设计器 ( 3 )选项 单击该按钮将弹出“提示选项”对话框,如图 8-6 所示。 通过提示选项对话框用户可以设置菜单中的各菜单项的属性。比如定义菜单项的快捷键,控制如何禁止或允许使用菜单项,选中的菜单项时在系统状态条上是否显示对菜单项的说明信息,指定菜单项的名字以及在编辑 OLE 对象期间控制菜单项的位置等。该对话框主要有以下选项:

图 8-6 “提示选项”对话框

Page 15: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.2.1  菜单设计器 ①“ 快捷方式”选项区域:该区用于指定菜单或菜单项的快捷键。其中“键标签”文本框用于显示键组合。设置快捷键的方法是:将光标置于“键标签”文本框中,然后在键盘上按下快捷键,文本框中便会自动显示该快捷键名称。例如按下 Crtl+R 键,文本框中就出现 Crtl+R 键。“键说明”用于显示需要出现在菜单项旁边的文本,用作对快捷键的说明,文本框中的内容通常与用户设置的快捷键名称相同。 ②“ 位置”选项区域:在该区域可指定用户在应用程序中编辑一个

OLE 对象时菜单项的位置。有“无”、“左”“中”“右”多个选项。 ③“跳过”编辑框:设置一个表达式作为允许或禁止菜单项的条件。当菜单激活时,若表为真,则菜单项以灰色显示,表示当前不可用。 ④“信息”编辑框:定义菜单项的说明信息。当选中了该菜单项后,这些信息将出现在 VFP 的系统状态条上。 ⑤“ 主菜单名 /菜单项 #” 编辑框:指定主菜单项的内部名称或子菜单项的序号。默认情况下,各菜单项无固定的名称,系统在生成菜单时将给出一个随机的名称或序号。 ⑥“备注”编辑框:在这里输入对菜单项的注释。不过这里的注释不会影响到生成的菜单程序代码,在运行菜单程序时 VFP 将忽略所有的注释。

Page 16: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.2.1  菜单设计器 ( 4 )“菜单级”下拉列表 这个弹出列表显示当前所处的菜单级别。当菜单的层次较多时利用这一项可知道当前的位置。从子菜单返回上面任意一级菜单也要使用这一项。 ( 5 )“预览”按钮 使用这个按钮可以预览当前定义的菜单,该菜单出现在原来系统菜单的地方。可在所显示的菜单中进行选择,检查菜单的层次关系及提示等是否正确,但是这种选择不会执行各菜单相应动作。 ( 6 )“插入” 单击该按钮可以在当前菜单的前面插入一新的菜单项。 ( 7 )“插入栏”按钮 进行菜单设计器界面后,该按钮被激活,用于插入一个 VFP 系统菜单项。单击此按钮,打开“插入系统菜单条”对话框,其中列出了各种

VFP 系统菜单命令。 ( 8 )“删除“按钮 删除当前的菜单项。

Page 17: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.2.1  菜单设计器 要提醒用户注意的是,在菜单设计器环境下,系统的“显示”菜单中增加了与菜单有关的两个选项。 ( 1 )常规选项 选择该菜单项将打开“常规选项”对话框,如图 8-8 所示。该对话框用于为整个菜单系统指定代码。它主要由“过程”、“编辑”、“位置”、“菜单代码”和“顶层表单”组成。 ( 2 )菜单项 当用户选择“显示”菜单中的“菜单选项”命令时,将出现如图 8-9 所示“菜单选项”对话框。该对话框用于为菜单栏或各子菜单输入代码,它包括“名称”标签、“过程”编辑框和“编辑”按钮。

图 8-8 “ 常规选项”对话框 图 8-9 “ 菜单选项”对话框

Page 18: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.2.2  定义菜单 本节将通过一个具体的实例说明自定义菜单的方法和过程。 【例 8-4 】为学生成绩管理系统设计一个菜单系统。主菜单包含有“数据维护”、“数据查询”、“报表打印”、 “系统帮助” 和“退出” 5个菜单项,且各菜单项分别带有下拉子菜单。

表 8-1 菜单项的设置 菜单名称 结 果 菜单级数据维护 子菜单 菜单栏学生信息数据维护 命令 数据维护课程信息维护 命令 数据维护\- 菜单项 # 数据维护学生成绩信息查询和维护 命令 数据维护数据查询 子菜单 菜单栏学生信息数据查询 命令 数据查询课程信息数据查询 命令 数据查询\- 菜单项 # 数据查询学生成绩信息查询和维护 命令 数据查询报表打印 子菜单 菜单栏生成学生信息报表 命令 报表打印生成课程信息报表 命令 报表打印生成学生成绩信息报表 命令 报表打印系统帮助 命令 菜单栏退出 过程 菜单栏

Page 19: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.2.2  定义菜单 操作步骤: 1 .规划菜单系统 菜单项的设置如表 8-1 所示。 2 .单击“文件”菜单下的“新建”按钮,在弹出来的对话框中选中“菜单”,然后选择“新建文件”,打开菜单设计器。定义主菜单,如

图 8-10 所示。

图 8-10 定义主菜单

Page 20: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.2.2  定义菜单 3 .定义好主菜单后,定义各个子菜单。单击“数据维护”菜单项中的“创建”选项,进入子菜单定义界面,定义“数据维护”子菜单,如图

8-11 所示。

图 8-11 “数据维护”子菜单

Page 21: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.2.2  定义菜单 4 .从“菜单级”列表框中选择“菜单栏”选项,返回到主菜单定义界面,并按同样的方法分别定义另外“数据查询”和“报表打印” 2 个子菜单,如图 8-12 、图 8-13 所示。

图 8-12 “数据查询”子菜单

图 8-13 “报表打印”子菜单

Page 22: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.2.2  定义菜单 5 .在“系统帮助”菜单项的命令框中输入命令“ do form 帮

助 .scx” 。当执行该菜单项时可以打开帮助表单。 6 .在“退出”菜单项中,单击“退出”过程中的“编辑”选项,并在其中输入程序代码,如图 8-14 所示。

图 8-14 “退出”过程

Page 23: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.2.2  定义菜单 7 .单击“预览”按钮可预览设计好的菜单效果,如图 8-15 所示。 8 .选择菜单“文件->保存”,弹出“另存为”对话框,将菜单保存为“主菜单 .MNX” ,以便以后修改。系统除创建一个扩展名为 MNX

的菜单文件外,还会自动创建一个同名的菜单备注文件( MNT )。

图 8-15 “学生成绩管理”系统菜单

Page 24: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.2.2  定义菜单 9 .选择主菜单“菜单->生成”,弹出“生成菜单”对话框,如图 8-16 所示。在“输出文件”文本框中显示出系统设定的路径、文件夹和文件名,文件名默认与菜单格式文件名相同。如果要放在别的文件夹或重新命名,可以直接在文本框中修改,也可以单击文本框右端按钮打开“另存为”对话框,指定新的路径。最后单击“生成”按钮,系统会自动生成菜单程序,菜单程序文件的扩展名为 MPR 。

图 8-16生成菜单程序

Page 25: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.2.2  定义菜单 10.选择主菜单“程序->运行”,会弹出图 8-17 所示对话框,选中要运行的菜单程序“主菜单 .MPR” ,单击“运行”按钮,系统菜单将换成用户菜单,如图 8-18 所示。

图 8-17 “运行”对话框 图 8-18 用户菜单

11.在命令窗口输入命令: set sysmenu to default ,可以结束用户菜单运行,重新显示系统主菜单。如果用户菜单设置了“退出”菜单,也可以单击“退出”来结束用户菜单的运行。

Page 26: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.2.3 为顶层表单添加菜单 一般情况下,使用菜单设计器设计的菜单,运行在 Visual

FoxPro 的图文框中,也就是说,用户菜单不是在窗口的顶层,而是在第二层,因为 Visual FoxPro 标题一直被显示。如何去掉该标题,而换成用户指定的标题,可以通过顶层菜单设计来实现。其基本思想是: 第 1 步:在菜单设计器设计好菜单,然后 VFP 系统菜单中选择“显示”下的“常规选项”菜单项,在“常规选项”对话框中选中“顶层表单”复选框,生成菜单程序。 第 2 步:创建一个表单,该表单只设置标题为用户指定的标题,然后在 Init 方法中添加如下代码: DO 菜单程序名 WITH THIS, .T. 第 3 步:将表单的 ShowWindow属性设置为 2 ,使其成为“顶层表单”。

Page 27: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.2.3 为顶层表单添加菜单 【例 8-5 】将案例 8-4 设计的自定义菜单添加到顶层表单中。 操作步骤: 1 .打开“主菜单 .MNX” ,进行菜单设计器。 2 .选择“显示”下的“常规选项”命令,在“常规选项”对话框中选中“顶层表单”复选框。 3 .单击常用工具栏上的“保存“按钮,保存修改后的自定义菜单;然后选择“菜单”下的“生成”菜单项,重新生成新的菜单文件“主菜单 .MPR” 。 4 .选择“文件”下的“新建”命令,在“新建”对话框中选择“表单”文件类型。单击“新建文

件”按钮,打开表单设计器,表单属性设置如表 8-2 所示。 表 8-2 表单属性设置

属性名称 属性值Caption 学生成绩管理系统AlwaysOntop .T.

AutoCenter .T.

ShowWindow 2

Page 28: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.2.3 为顶层表单添加菜单 5 .为表单的 Init事件过程添加如下代码: Do 主菜单 .MPR WITH THIS , .T. 6 .保存表单,并运行,运行效果如图 8-19 所示。

图 8-19 顶层表单中的菜单

Page 29: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.3  快捷菜单设计 当鼠标在窗口的某个对象上右击,将显示一快捷菜单,快捷菜单通常列出与相应对象有关的功能命令。与下拉菜单相比较,快捷菜单没有条形菜单栏,只有一个弹出式菜单。因此,对于快捷菜单仅需设计菜单项及其子菜单。 利用菜单设计器可以创建快捷菜单,并可以将这些菜单附加在控件上。 创建快捷菜单的具体步骤是: 1 、选择项目管理器中的“其他”选项卡,选定“菜单”选项,并单击“新建”按钮。在“新建菜单”对话框中单击“快捷菜单”按钮,打开“快捷菜单设计器”对话框。 2 、在“快捷菜单设计器”中添加菜单项,其过程与创建下拉菜单完全相同,即在“菜单名称”框中指定相应的菜单标题,在“结果”框中选择菜单激活后的动作并编写相应的命令或过程代码。单击“选项”栏中的按钮后,在“提示选项”对话框中设置快捷键等。 3 、预览快捷菜单。 4 、选择“文件”下的“另存为”命令,保存快捷菜单的定义文件

( .MNX )。

Page 30: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.3  快捷菜单设计 5 、选择“菜单”下的“生成”命令,生成相应的菜单程序文件 (.MPR) 。 要使用创建的快捷菜单,可以在表单设计器环境下选定需要调用快捷菜单的对象,在该对象的 RightClick事件过程中添加调用快捷菜单程序的代码: Do < 快捷菜单程序文件名 > 【例 8-6 】为表单的一个标签控件建立快捷菜单,其结构如图 8-20 所示。 快捷菜单中包含了 3 个菜单项:字体、大小、颜色,它们分别带有下级子菜单,

选择不同的的字体、大小、颜色时,标签标题随之发生相应的改变。

图 8-20 在表单中调用快捷菜单

Page 31: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.3  快捷菜单设计 操作步骤如下: 1 .选择“文件”菜单下的“新建”命令,从“新建”对话框中选择“菜单”文件类型,在“新建菜单”对话框中单击“快捷菜单”按钮,打开“快捷菜单设计器”对话框。 2 .定义快捷菜单各选项的名称,如表

8-3 所示。

菜单名称 结 果字体( \F ) 子菜单宋体

通用过程楷体黑体隶书大小( \S ) 子菜单14 命令: _VFP.ActiveForm.Label1.FontSize=14

18 命令: _VFP.ActiveForm.Label1.FontSize=18

22 命令: _VFP.ActiveForm.Label1.FontSize=22

颜色 (\C) 子菜单黑色

通用过程黄色红色蓝色图 8-21 “ 新建菜单”对话框

Page 32: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.3  快捷菜单设计 3 .在“菜单级”列表框中选择“快捷菜单”项,回到顶层菜单。选择“字体”菜单项,单击“编辑”按钮,重新进入“字体”子菜单,如图 8-22 所示。选择“显示”菜单下的“菜单选项”命令,打开“菜单选项”对话框,单击“编辑”按钮,再单击“确定”按钮,进入代码编辑窗口,为“字体”编写通用过程,如图 8-23 所示。编写完后关闭编辑窗口,返回菜单设计器。

图 8-23 “ 菜单选项”对话框

图 8-22“ 字体”子菜单

Page 33: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.3  快捷菜单设计 子菜单“字体”通用过程代码: DO CASE CASE BAR()=1 Ft=“宋体” && 选择的菜单项的序号 CASE BAR()=2 Ft=“楷体 -GB2312” CASE BAR()=3 Ft=“黑体” CASE BAR()=4 Ft=“隶书” ENDCASE _VFP.ActiveForm.Label1.FontName=ft

4 .在“菜单级”列表框中选择“快捷菜单”项,回到顶层菜单。选择“大小”菜单项,单击“编辑”按钮进入“大小”子菜单,如图8-24 ,在各个子菜单的命令框中输入相应的代码,内容如表 8-3 所示。

图 8-24 “ 大小”子菜单

Page 34: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.3  快捷菜单设计 5 .在“菜单级”列表框中选择“快捷菜单”项,回到顶层菜单。选择“颜色”菜单项,单击“编辑”按钮,重新进入“颜色”子菜单,如图

8-25 所示。按同样的方法,为“颜色”子菜单中的各菜单项写通用过程,代码如表 8-3 所示。关闭编辑窗口,返回菜单设计器。 子菜单“颜色”通用过程代码: DO CASE CASE BAR ()=1    c1=RGB(0,0,0) &&函数 RGB()返回一种由给定的红、绿、蓝颜色合成的颜色 CASE BAR ()=2 c1=RGB(255,255,0) CASE BAR ()=3 c1=RGB(255,0,0) CASE BAR ()=4 c1=RGB(0,0,255) ENDCASE _VFP.ActiveForm.Label1.ForeColor=

c1

图 8-25 定义“颜色”子菜单

Page 35: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.3  快捷菜单设计 6 .单击“预览”按钮,预览快捷菜单。 7 .选择“文件”菜单下的“另存为”命令,保存创建的快捷菜单,输入文件名“快捷菜单 .MNR” 。 8 .选择“菜单”下的“生成”命令,生成相应的菜单程序文件“快捷菜

单 .MPR” 。 9 .选择“文件”菜单下的“新建”命令,在“新建”对话框中选择“表单”文件类型。新建一个表单,表单属性设置如表 8-4 所示。

表 8-4 表单属性设置 属性名称 属性值Caption 快捷菜单示例AlwaysOntop .T.

AutoCenter .T.

Page 36: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

8.3  快捷菜单设计 10.在表单添加一个标签控件,标签属性设置如表 8-5 所示。 属性名称属性值 AutoSize.T.BackStyle0-透明 Caption欢迎进入学生成绩管理系统双击标签控件,打开代码编辑窗口,为标签的 RightClick事件过程添加如下代码: Do 菜单 1.MPR 11.选择“文件”下的“另存为”命令,保存表单文件。 12.运行表单文件,当右击标签对象,会弹出如图 8-20 所示快捷菜单。选择不同的菜单项可使标题文字作出相应的变化。

属性名称 属性值AutoSize .T.

BackStyle 0- 透明Caption 欢迎进入学生成绩管理系统

表 8-5 标签属性设置

Page 37: 第八章  菜单设计与应用

http://Vir.jxstnu.edu.cn/vfp Visual FoxPro 程序设计

本章小结 本章介绍了在 VFP 环境下两种菜单的创建和应用。一个良好的数据库应用系统程序中,菜单起着组织、协调全部数据库对象的关键作用,一个良好的菜单系统会给用户一个友好的操作界面,并会带来操作上的便利。对数据库应用系统进行操作时,菜单程序尤为重要。

Page 38: 第八章  菜单设计与应用

VFP 课程建设组