《Visual FoxPro程序设计(等级考试版):第7章菜单设计与应用》由会员分享,可在线阅读,更多相关《Visual FoxPro程序设计(等级考试版):第7章菜单设计与应用(19页珍藏版)》请在金锄头文库上搜索。
1、http:/ 菜单设计与应用菜单设计与应用 48学时http:/ FoxProVisual FoxPro程序设计(等级考试版)程序设计(等级考试版)内容提要内容提要n7.1 Visual FoxPro系统菜单 n7.2 下拉式菜单设计 n7.3 快捷菜单设计 n7.4 小型案例实训 n7.5 学习加油站n7.6 上机实验n7.7 习题 http:/ FoxProVisual FoxPro程序设计(等级考试版)程序设计(等级考试版)7.1 Visual FoxPro系统菜单系统菜单7.1.1 菜单结构菜单结构 Visual FoxPro支持两种类型的菜单:支持两种类型的菜单:条形菜单条形菜单和和
2、弹出式弹出式菜单菜单。 每一个每一个条形菜单条形菜单都有一个内部名字和一组菜单选项,每个都有一个内部名字和一组菜单选项,每个菜单选项都有一个名称菜单选项都有一个名称(标题标题)和内部名字。和内部名字。 每个每个弹出式菜单弹出式菜单也有一个内部名字和一组菜单选项,每个也有一个内部名字和一组菜单选项,每个菜单选项有一个名称菜单选项有一个名称(标题标题)和选项序号。和选项序号。 快捷菜单快捷菜单一般由一个或一组上下级的弹出式菜单组成。一般由一个或一组上下级的弹出式菜单组成。菜单项的名称菜单项的名称显示于屏幕供用户识别,菜单及菜单项的内显示于屏幕供用户识别,菜单及菜单项的内部名字或选项序号则用于在代码
3、中引用。部名字或选项序号则用于在代码中引用。 http:/ FoxProVisual FoxPro程序设计(等级考试版)程序设计(等级考试版)每一个菜单选项都可以有选择地设置一个热键和一个快捷每一个菜单选项都可以有选择地设置一个热键和一个快捷键。键。热键热键通常是一个字符。当菜单激活时,可以按菜单项通常是一个字符。当菜单激活时,可以按菜单项的热键快速选择该菜单项。的热键快速选择该菜单项。快捷键快捷键通常是通常是Ctrl键和另一个键和另一个字符键组成的组合键。不管菜单是否激活,都可以通过快字符键组成的组合键。不管菜单是否激活,都可以通过快捷键选择相应的菜单选项。捷键选择相应的菜单选项。无论是哪种
4、类型的菜单,当选择其中某个选项时都会有一无论是哪种类型的菜单,当选择其中某个选项时都会有一定的定的动作动作。这个动作可以是下面三种情况中的一种:执行。这个动作可以是下面三种情况中的一种:执行一条命令、执行一个过程和激活另一个菜单。一条命令、执行一个过程和激活另一个菜单。典型的菜单系统一般是一个下拉式菜单,由一个条形菜单典型的菜单系统一般是一个下拉式菜单,由一个条形菜单和一组弹出式菜单组成。和一组弹出式菜单组成。其中条形菜单作为主菜单,弹出其中条形菜单作为主菜单,弹出式菜单作为子菜单。当选择一个条形菜单选项时,激活相式菜单作为子菜单。当选择一个条形菜单选项时,激活相应的弹出式菜单。应的弹出式菜单
5、。 http:/ FoxProVisual FoxPro程序设计(等级考试版)程序设计(等级考试版)7.1.2 系统菜单系统菜单 Visual FoxPro系统菜单是一个典型的菜单系统,其主系统菜单是一个典型的菜单系统,其主菜单是一个条形菜单。其中常见选项如表菜单是一个条形菜单。其中常见选项如表7-1所示。所示。http:/ FoxProVisual FoxPro程序设计(等级考试版)程序设计(等级考试版) SET SYSMENU命令可以允许或禁止在程序执行中访命令可以允许或禁止在程序执行中访问系统菜单,也可以重新配置系统菜单。其命令格式如下:问系统菜单,也可以重新配置系统菜单。其命令格式如下
6、:SET SYSMENU ON|OFF|AUTOMATIC|TO|TO|TODEFAULT|SAVE|NOSAVE功能说明:功能说明:nON表示允许程序执行时访问系统菜单。表示允许程序执行时访问系统菜单。nOFF表示禁止程序执行时访问系统菜单。表示禁止程序执行时访问系统菜单。nAUTOMATIC表示系统菜单显示出来,可以访问系统菜单。表示系统菜单显示出来,可以访问系统菜单。nTO表示重新配置系统菜单,以内部名表示重新配置系统菜单,以内部名字列出可用的弹出式菜单。字列出可用的弹出式菜单。http:/ FoxProVisual FoxPro程序设计(等级考试版)程序设计(等级考试版)TO表示重新配
7、置系统菜单,以条形菜表示重新配置系统菜单,以条形菜单项内部名表列出可用的子菜单。单项内部名表列出可用的子菜单。TO DEFAULT表示将系统菜单恢复为默认配置。表示将系统菜单恢复为默认配置。SAVE表示将当前的系统菜单配置指定为默认配置。若在执表示将当前的系统菜单配置指定为默认配置。若在执行行SET SYSMENU SAVE命令后,修改了系统菜单,再执行命令后,修改了系统菜单,再执行SET SYSMENU TO DEFAULT命令,就可以恢复命令,就可以恢复SET SYSMENU SAVE命令执行之前的菜单配置了。命令执行之前的菜单配置了。注意:注意:不带参数的不带参数的SET SYSMENU
8、 TO命令将屏蔽系统菜单,命令将屏蔽系统菜单,使系统菜单不可用。使系统菜单不可用。http:/ FoxProVisual FoxPro程序设计(等级考试版)程序设计(等级考试版)7.2 下拉式菜单设计下拉式菜单设计 使用使用Visual FoxPro提供的菜单设计器可以很便捷地设提供的菜单设计器可以很便捷地设计下拉式菜单。计下拉式菜单。 7.2.1 菜单设计的基本过程菜单设计的基本过程 用菜单设计器设计下拉式菜单的基本过程如下图所示。用菜单设计器设计下拉式菜单的基本过程如下图所示。 http:/ FoxProVisual FoxPro程序设计(等级考试版)程序设计(等级考试版)1新建菜单新建菜
9、单 新建一个菜单,一般有以下新建一个菜单,一般有以下3种方式种方式: (1) 利用项目管理器利用项目管理器:项目管理器中项目管理器中选择选择“其他其他”选项卡选项卡中的中的“菜单菜单”,单击,单击“新建新建”按钮弹出按钮弹出“新建菜单新建菜单”对话对话框。在框。在“新建菜单新建菜单”对话框中单击对话框中单击“菜单菜单”按钮,调出菜按钮,调出菜单设计器。单设计器。 (2) 利用利用菜单命令菜单命令:选择选择“文件文件”“新建新建”命令,弹出命令,弹出“新建新建”对话框。在该对话框中选中对话框。在该对话框中选中“菜单菜单”单选按钮,单选按钮,单击单击“新建文件新建文件”按钮,弹出按钮,弹出“新建菜
10、单新建菜单”对话框。单击对话框。单击“菜单菜单”按钮,调出菜单设计器。按钮,调出菜单设计器。 (3) 利用窗口利用窗口命令命令:CREATE MENU FileName |? 命令说明:命令说明:FileName指定菜单表的文件名。若没有为文指定菜单表的文件名。若没有为文件指定扩展名,件指定扩展名,Visual FoxPro自动指定自动指定.mnx为扩展名;若没为扩展名;若没有给出文件名,则直接调出菜单设计器。有给出文件名,则直接调出菜单设计器。http:/ FoxProVisual FoxPro程序设计(等级考试版)程序设计(等级考试版)2修改菜单修改菜单 修改菜单可以采用以下修改菜单可以采
11、用以下3种方式种方式 : (1) 利用利用菜单命令菜单命令:选择选择“文件文件”“打开打开”命令,弹命令,弹出出“打开打开”对话框。在对话框。在“文件类型文件类型”中选择菜单中选择菜单(.mnx文件文件),然后选取文件,单击,然后选取文件,单击“打开打开”按钮,弹出菜单设按钮,弹出菜单设计器。计器。 (2) 利用利用项目管理器项目管理器:在项目管理器中选择在项目管理器中选择“其他其他”选选项卡中的项卡中的“菜单菜单”。选择所需修改的菜单,单击。选择所需修改的菜单,单击“修改修改”按钮,弹出菜单设计器。按钮,弹出菜单设计器。 (3) 利用窗口利用窗口命令命令:MODIFY MENU FileNa
12、me |? 命令说明:命令说明:FileName指定菜单表的文件名。如果没有为指定菜单表的文件名。如果没有为文件指定扩展名,文件指定扩展名,Visual FoxPro自动指定自动指定.mnx为扩展名;为扩展名;如果没有给出文件名,则首先调出如果没有给出文件名,则首先调出“打开打开”对话框,从中选对话框,从中选择菜单文件。择菜单文件。http:/ FoxProVisual FoxPro程序设计(等级考试版)程序设计(等级考试版)3定义菜单定义菜单 在菜单设计器中定义菜单,指定菜单的各项内容,例如在菜单设计器中定义菜单,指定菜单的各项内容,例如菜单的名称、快捷键等。菜单的名称、快捷键等。 指定菜单
13、的各项内容后,应将菜单定义保存到指定菜单的各项内容后,应将菜单定义保存到.mnx文文件中。方法是:选择件中。方法是:选择“文件文件”“保存保存”命令或按命令或按Ctrl+W组合键。组合键。4生成菜单程序生成菜单程序 菜单定义文件存放着菜单的各项定义,但其本身是一个菜单定义文件存放着菜单的各项定义,但其本身是一个表文件,并不能够运行。这一步就是要根据菜单定义产生可表文件,并不能够运行。这一步就是要根据菜单定义产生可执行的菜单程序文件执行的菜单程序文件(.mpr文件文件),步骤如下。,步骤如下。 (1) 在菜单设计器环境下,选择在菜单设计器环境下,选择“菜单菜单”“生成生成”命命令。令。 (2)
14、在在“生成菜单生成菜单”对话框中指定菜单程序文件的名称对话框中指定菜单程序文件的名称和存放路径。和存放路径。 (3) 单击单击“生成生成”按钮。按钮。http:/ FoxProVisual FoxPro程序设计(等级考试版)程序设计(等级考试版)5运行菜单程序运行菜单程序 可以使用命令可以使用命令“DO”运行菜单程序,但文件名运行菜单程序,但文件名的扩展名的扩展名.mpr不能省略。运行菜单程序时,系统会自动编译不能省略。运行菜单程序时,系统会自动编译.mpr文件,从而产生用于运行的文件,从而产生用于运行的.mpx文件。文件。7.2.2 定义下拉式菜单定义下拉式菜单1定义菜单项名称定义菜单项名称
15、2定义菜单项结果定义菜单项结果3设置菜单项选项设置菜单项选项 4菜单项的其他按钮菜单项的其他按钮5“显示显示”菜单菜单例7.1 见书本第见书本第275页页 http:/ FoxProVisual FoxPro程序设计(等级考试版)程序设计(等级考试版)7.2.3 为顶层表单添加菜单为顶层表单添加菜单 具体操作步骤如下:具体操作步骤如下: (1) 菜单设计时,选中菜单设计时,选中“常规选项常规选项”对话框中的对话框中的“顶层表单顶层表单”复选框。复选框。 (2) 在表单设计器中,将表单的在表单设计器中,将表单的ShowWindow属性值设置为属性值设置为2,使其成为顶层表单。,使其成为顶层表单。
16、 (3) 在表单的在表单的Init事件代码中添加调用菜单程序的命令。格式事件代码中添加调用菜单程序的命令。格式为:为:DO文件名文件名WITH This , 菜单名菜单名 说明:说明:文件名文件名指定被调用的菜单程序文件,其中的扩展名指定被调用的菜单程序文件,其中的扩展名.mpr不不能省略能省略。 (4) 在表单的在表单的Destroy事件代码中添加清除菜单的命令,使得事件代码中添加清除菜单的命令,使得在关闭表单时能同时清除菜单,释放其所占用的空间。其命令格式在关闭表单时能同时清除菜单,释放其所占用的空间。其命令格式为:为:RELEASE MENU菜单名菜单名EXTENDED 说明:说明:EX
17、TENDED表示在清除条形菜单时一起清除其下属的所有子表示在清除条形菜单时一起清除其下属的所有子菜单。菜单。例7.2 见教材见教材P278http:/ FoxProVisual FoxPro程序设计(等级考试版)程序设计(等级考试版) 快捷菜单是附加在表单控件上的通过鼠标右键访问和使快捷菜单是附加在表单控件上的通过鼠标右键访问和使用的一种菜单,一般从属于某个界面对象。当右击对象时,用的一种菜单,一般从属于某个界面对象。当右击对象时,就会在单击处弹出快捷菜单。就会在单击处弹出快捷菜单。建立快捷菜单的方法如下建立快捷菜单的方法如下:(1) 选择选择“文件文件”“新建新建”命令。命令。(2) 选中选
18、中“新建新建”对话框中的对话框中的“菜单菜单”单选按钮,单击单选按钮,单击“新新建文件建文件”按钮。按钮。(3) 单击单击“新建菜单新建菜单”对话框中的对话框中的“快捷菜单快捷菜单”按钮,打开按钮,打开“快捷菜单设计器快捷菜单设计器”对话框。对话框。(4) 选择选择“菜单菜单”“生成生成”命令,生成菜单程序文件。命令,生成菜单程序文件。7.3 快捷菜单设计快捷菜单设计http:/ FoxProVisual FoxPro程序设计(等级考试版)程序设计(等级考试版)(5) 在快捷菜单的在快捷菜单的“清理清理”代码中添加清除菜单的命令,使代码中添加清除菜单的命令,使得在选择、执行菜单命令后能及时清除
19、菜单,释放其所占用得在选择、执行菜单命令后能及时清除菜单,释放其所占用的内存空间。其命令格式为:的内存空间。其命令格式为:RELEASE POPUPSEXTENDED 说明:如果包含说明:如果包含EXTENDED,除了删除指定的弹出式菜单外,还,除了删除指定的弹出式菜单外,还应该清除该弹出式菜单的所有下级菜单。应该清除该弹出式菜单的所有下级菜单。(6) 在表单设计器环境下,选定需要添加快捷菜单的对象。在表单设计器环境下,选定需要添加快捷菜单的对象。(7) 在属性对话框的方法程序列表框中,双击在属性对话框的方法程序列表框中,双击RightClickEvent项,在选定对象的项,在选定对象的Rig
20、htClick事件代码中事件代码中添加调用快捷菜单程序的命令为:添加调用快捷菜单程序的命令为:DO快捷菜单程序文件快捷菜单程序文件名名 注意:运行菜单文件时,菜单文件名的扩展名注意:运行菜单文件时,菜单文件名的扩展名 .mpr不能省略。不能省略。 例7.3 见教材见教材P279http:/ FoxProVisual FoxPro程序设计(等级考试版)程序设计(等级考试版)7.4 小型案例实训小型案例实训n7.4.1 案例案例1n7.4.2 案例案例2n7.4.3 案例案例3n7.4.4 案例案例4http:/ FoxProVisual FoxPro程序设计(等级考试版)程序设计(等级考试版)7
21、.5 学习加油站学习加油站n重点整理n本章不是重点,主要内容包括:菜单定义、配置系本章不是重点,主要内容包括:菜单定义、配置系统菜单、恢复系统菜单、执行菜单文件、运行菜单统菜单、恢复系统菜单、执行菜单文件、运行菜单文件、调用快捷菜单、定义快捷菜单。文件、调用快捷菜单、定义快捷菜单。n关键考点Visual FoxPro系统菜单:菜单结构、配置系统菜单、恢系统菜单:菜单结构、配置系统菜单、恢复系统菜单命令。复系统菜单命令。下拉式菜单设计:调用菜单设计器、定义菜单、生成菜下拉式菜单设计:调用菜单设计器、定义菜单、生成菜单程序、运行菜单程序。单程序、运行菜单程序。快捷菜单设计:建立快捷菜单的方法和过程、建立快捷快捷菜单设计:建立快捷菜单的方法和过程、建立快捷菜单的操作步骤。菜单的操作步骤。http:/ FoxProVisual FoxPro程序设计(等级考试版)程序设计(等级考试版)7.6 上机实验上机实验n实验目的n掌握用菜单设计器设计一般菜单的方法掌握用菜单设计器设计一般菜单的方法n掌握菜单程序的生成和运行方法掌握菜单程序的生成和运行方法http:/ FoxProVisual FoxPro程序设计(等级考试版)程序设计(等级考试版)7.7 习题习题 略略