菜单设计与应用.ppt
《菜单设计与应用.ppt》由会员分享,可在线阅读,更多相关《菜单设计与应用.ppt(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、VFP课程建设组课程建设组第八章第八章 菜单设计与应用菜单设计与应用 http:/V FoxPro程序设计程序设计目录Visual FoxPro系统菜单系统菜单 1菜单设计菜单设计 2快捷菜单设计快捷菜单设计 3http:/V FoxPro程序设计程序设计8.1Visual FoxPro系统菜单 v在在Windows环境下,常见的菜单类型有两种:下拉式菜单和快捷菜环境下,常见的菜单类型有两种:下拉式菜单和快捷菜单。单。v一、下拉式菜单一、下拉式菜单v一般是由一个称作一般是由一个称作“主菜单主菜单”的条形菜单栏和一组称作的条形菜单栏和一组称作“子菜单子菜单”的的下拉式菜单组成。下拉式菜单组成。v
2、条形菜单栏一般位于应用程序窗口的标题栏的下方,是一个启动应用条形菜单栏一般位于应用程序窗口的标题栏的下方,是一个启动应用程序后始终都可以看到的菜单名列表栏。菜单栏中的每个菜单名代表程序后始终都可以看到的菜单名列表栏。菜单栏中的每个菜单名代表一个主菜单项,每一个主菜单项可以直接对应一个命令或过程。一个主菜单项,每一个主菜单项可以直接对应一个命令或过程。v通常,每一个主菜单项对应有一个下拉菜单作为它的子菜单,子菜单通常,每一个主菜单项对应有一个下拉菜单作为它的子菜单,子菜单中包含了一组菜单选项。子菜单中的每个菜单项可直接对应一条命令,中包含了一组菜单选项。子菜单中的每个菜单项可直接对应一条命令,也
3、可对应于下一级子菜单,子菜单里又可以包含一组相关的菜单项,也可对应于下一级子菜单,子菜单里又可以包含一组相关的菜单项,从而形成一种级联的菜单结构。从而形成一种级联的菜单结构。8.1.1菜单结构http:/V FoxPro程序设计程序设计8.1.1菜单结构v在子菜单中,对功能上密切相关的菜单项可以放置分隔线划分菜单选项在子菜单中,对功能上密切相关的菜单项可以放置分隔线划分菜单选项的组别。菜单项一般都有一个热键,用括号中带下划线的字母表示,同的组别。菜单项一般都有一个热键,用括号中带下划线的字母表示,同时按时按ALT键和带下划线的字母键即可下拉出所代表的菜单。快捷键通常键和带下划线的字母键即可下拉
4、出所代表的菜单。快捷键通常是是Ctrl键和另一个字符键组成的组合键,不论菜单是否激活,都可以通键和另一个字符键组成的组合键,不论菜单是否激活,都可以通过快捷键选择相应的菜单项。如图过快捷键选择相应的菜单项。如图8-1所示。所示。图图8-1VFP系统菜单系统菜单 http:/V FoxPro程序设计程序设计8.1.1菜单结构v二、快捷菜单二、快捷菜单v当鼠标指针指向某个界面对象单击鼠标右键,通常会弹出一个快捷菜单,列出针对当前对当鼠标指针指向某个界面对象单击鼠标右键,通常会弹出一个快捷菜单,列出针对当前对象的各种可用命令,免除了在主菜单中一一查找的麻烦。快捷菜单一般只有一个弹出式菜象的各种可用命
5、令,免除了在主菜单中一一查找的麻烦。快捷菜单一般只有一个弹出式菜单。菜单组中的每个菜单项可直接对应于一条命令,也可对应于一个级联子菜单。图单。菜单组中的每个菜单项可直接对应于一条命令,也可对应于一个级联子菜单。图8-2 是在是在VFP命令窗口右击时弹出的快捷菜单,其中列出了与命令窗口操作有关的命令项。命令窗口右击时弹出的快捷菜单,其中列出了与命令窗口操作有关的命令项。图图8-2 快捷菜单快捷菜单 http:/V FoxPro程序设计程序设计8.1.2系统菜单 vVisual FoxPro系统菜单是一个典型的菜单系统,其主菜系统菜单是一个典型的菜单系统,其主菜单是一个条形菜单。选择条形菜单中的每
6、一个菜单项都会弹单是一个条形菜单。选择条形菜单中的每一个菜单项都会弹出一个下拉菜单。出一个下拉菜单。v在在Visual FoxPro中,每一个条形菜单都有一个内部名字中,每一个条形菜单都有一个内部名字和一组菜单选项,每个菜单选项都有一个名称(标题)和内和一组菜单选项,每个菜单选项都有一个名称(标题)和内部名字。例如,部名字。例如,Visual FoxPro主菜单的内部名字为主菜单的内部名字为_MSYSMENU,条形菜单项,条形菜单项“文件文件”、“编辑编辑”和和“窗口窗口”的内部名字分别为的内部名字分别为_MSM_FILE,_MSM_EDIT,_MSM_WINDOW。v每一个弹出式菜单也有一个
7、内部名字和一组菜单选项,每个每一个弹出式菜单也有一个内部名字和一组菜单选项,每个菜单选项则有一个名称(标题)和选项序号。例如,菜单选项则有一个名称(标题)和选项序号。例如,_MFILE,_MEDIT,_MWINDOW为弹出式菜单项为弹出式菜单项“文件文件”、“编辑编辑”和和“窗口窗口”的内部名字。菜单项的名称用的内部名字。菜单项的名称用于在屏幕上显示菜单系统,而内部名字或选项序号则用于在于在屏幕上显示菜单系统,而内部名字或选项序号则用于在程序代码中引用。程序代码中引用。http:/V FoxPro程序设计程序设计8.1.2系统菜单v通过通过SET SYSMENU命令可以允许或禁止在程序执行时访
8、问系统菜单,命令可以允许或禁止在程序执行时访问系统菜单,也可以重新设置系统菜单。也可以重新设置系统菜单。v命令格式:命令格式:vSET SYSMENU ON|OFF|AUTOMATIC|TO|TO|TO DEFAULT|SAVE|NOSAVEv其中:其中:vON允许程序执行时访问系统菜单;允许程序执行时访问系统菜单;vOFF禁止程序执行时访问系统菜单;禁止程序执行时访问系统菜单;vAUTOMATIC可使系统菜单显示出来,可以访问系统菜单;可使系统菜单显示出来,可以访问系统菜单;vTO子句用于重新设置系统菜单:子句用于重新设置系统菜单:“TO”以菜单项以菜单项内部名字列出可用的弹出式菜单,内部名
9、字列出可用的弹出式菜单,“TO”以条形以条形菜单项内部名字列出可用的子菜单,菜单项内部名字列出可用的子菜单,“TO DEFAULT”将系统菜单恢将系统菜单恢复为缺省配置;复为缺省配置;vSAVE将当前系统菜单配置指定为缺省配置;将当前系统菜单配置指定为缺省配置;vNOSAVE将缺省设置恢复成将缺省设置恢复成Visual FoxPro系统的标准配置。系统的标准配置。http:/V FoxPro程序设计程序设计8.1.2系统菜单v【例例8-1】要求仅保留要求仅保留Visual FoxPro系统菜单的系统菜单的“文件文件”、“工具工具”、“窗窗口口”和和“格式格式“菜单,其他选项从系统菜单中移去。菜
10、单,其他选项从系统菜单中移去。v在命令窗口输入以下命令并执行,执行后系统菜单显示效果如图在命令窗口输入以下命令并执行,执行后系统菜单显示效果如图8-3所示。所示。v命令序列:命令序列:vSET SYSMENU TO _MFILE,_MTOOLS,_MWINDOW,_MSM_TEXT 图图8-3 设置后的菜单窗口设置后的菜单窗口 http:/V FoxPro程序设计程序设计8.1.2系统菜单v【例例8-2】将系统菜单恢复成标准菜单。将系统菜单恢复成标准菜单。v命令序列:命令序列:vSET SYSMENU NOSAVEvSET SYSMENU TO DEFAULTv逐条执行上述命令后,系统菜单将恢
11、复成标准设置。逐条执行上述命令后,系统菜单将恢复成标准设置。v【例例8-3】从从“文件文件”菜单项的下拉菜单中移去菜单项的下拉菜单中移去“新建新建”和和“打开打开”菜菜单项。单项。v通过通过RELAEASE BAR命令可以从指定的菜单中移去指定的菜单项。命令可以从指定的菜单中移去指定的菜单项。v命令格式:命令格式:RELEASE BAR OF v命令序列:命令序列:vRELEASE BAR _MFI_NEW OF _MFILEvRELEASE BAR _MFI_OPEN OF _MFILEv逐条执行上述命令后,逐条执行上述命令后,“文件文件”菜单项的下拉菜单中移去了菜单项的下拉菜单中移去了“新
12、建新建”和和“打开打开”两个菜单项。两个菜单项。http:/V FoxPro程序设计程序设计82菜单设计 v开发一个应用程序通常都需要创建自己的菜单系统。不管应用程序的规开发一个应用程序通常都需要创建自己的菜单系统。不管应用程序的规模多大,打算使用的菜单多么复杂,创建菜单系统都需要以下步骤:模多大,打算使用的菜单多么复杂,创建菜单系统都需要以下步骤:v第第1步:规划与设计系统:确定需要哪些菜单、出现在界面的何处以及步:规划与设计系统:确定需要哪些菜单、出现在界面的何处以及哪几个菜单要有子菜单等等。哪几个菜单要有子菜单等等。v第第2步:创建菜单和子菜单:使用菜单设计器可以定义菜单标题、菜单步:创
13、建菜单和子菜单:使用菜单设计器可以定义菜单标题、菜单项和子菜单。项和子菜单。v第第3步:按实际要求为菜单系统指定任务:指定菜单所要执行的任务,步:按实际要求为菜单系统指定任务:指定菜单所要执行的任务,例如显示表单或对话框等。另外,如果需要,还可以包含初始化代码和例如显示表单或对话框等。另外,如果需要,还可以包含初始化代码和清理代码。初始化代码在定义菜单系统之前执行,其中可以打开文件;清理代码。初始化代码在定义菜单系统之前执行,其中可以打开文件;声明变量;或将菜单系统保存到堆栈中,以便可以在后面的程序执行中声明变量;或将菜单系统保存到堆栈中,以便可以在后面的程序执行中恢复。清理代码中包含的代码在
14、菜单的定义代码之后执行,使菜单和菜恢复。清理代码中包含的代码在菜单的定义代码之后执行,使菜单和菜单项可用或不可用。单项可用或不可用。v第第4步:生成菜单程序。步:生成菜单程序。v第第5步:运行生成的程序,测试菜单系统。步:运行生成的程序,测试菜单系统。http:/V FoxPro程序设计程序设计8.2.1菜单设计器 v要创建用户的菜单系统,可以使用菜单设计器。要创建用户的菜单系统,可以使用菜单设计器。v进入菜单设计器的方法有多种,最简单的方法是:从进入菜单设计器的方法有多种,最简单的方法是:从“文件文件”菜单中,菜单中,选择选择“新建新建”菜单项,得到新建对话框,选中菜单项,得到新建对话框,选
15、中“菜单菜单”单选按钮,单击单选按钮,单击“新建文件新建文件”按钮进入菜单设计器窗口,如图按钮进入菜单设计器窗口,如图8-5所示。所示。图图8-5“菜单设计器菜单设计器”对话框对话框 http:/V FoxPro程序设计程序设计8.2.1菜单设计器v菜单设计器窗口主要由以下几部分组成:菜单设计器窗口主要由以下几部分组成:v(1)菜单名称)菜单名称v该列用于指定各菜单项的标题名称及菜单项的访问键。例如:该列用于指定各菜单项的标题名称及菜单项的访问键。例如:定义一个标题名为定义一个标题名为“文件文件”的菜单项,并设置其访问键为的菜单项,并设置其访问键为F键,可在菜单名栏中输入键,可在菜单名栏中输入
16、“文件(文件(F)”。v要用分隔线功能将相关的菜单项分别成线,在要用分隔线功能将相关的菜单项分别成线,在“菜单名称菜单名称”栏中键入栏中键入“-”,便可创建一条分隔线。,便可创建一条分隔线。v此外,在每个菜单项的前面有一个小方块按钮,当鼠标移动此外,在每个菜单项的前面有一个小方块按钮,当鼠标移动到它的上面时形状会变成上下双箭头的样子。这个按钮是标到它的上面时形状会变成上下双箭头的样子。这个按钮是标准的移动指示器,用鼠标上下拖动它可以改变当前菜单项在准的移动指示器,用鼠标上下拖动它可以改变当前菜单项在菜单列表中的位置。菜单列表中的位置。http:/V FoxPro程序设计程序设计8.2.1菜单设
17、计器v(2)结果)结果v该列用于指定激活菜单项时的动作,有以下该列用于指定激活菜单项时的动作,有以下4个选项:个选项:v子菜单:如果用户所定义的当前菜单项还有子菜单的话应选择这一项。当选中子菜单:如果用户所定义的当前菜单项还有子菜单的话应选择这一项。当选中该项后,在其右侧将出现一该项后,在其右侧将出现一“创建创建”按钮,单击按钮,单击“创建创建”按钮后将进入新的一屏按钮后将进入新的一屏来设计子菜单。来设计子菜单。v命令:如果当前菜单项的功能是执行某种动作的话应选择这一项。当选中该项命令:如果当前菜单项的功能是执行某种动作的话应选择这一项。当选中该项后,在其右侧出现一文本框,在这个文本框中输入要
18、执行的命令。这个选项仅对后,在其右侧出现一文本框,在这个文本框中输入要执行的命令。这个选项仅对应于执行一条命令或调用其他程序的情况。如果所要执行的动作需多条命令完成,应于执行一条命令或调用其他程序的情况。如果所要执行的动作需多条命令完成,而又无相应的程序可用,那么在这里应该选择而又无相应的程序可用,那么在这里应该选择“过程过程”。v主菜单名主菜单名/菜单项菜单项#:主菜单名项出现在定义主菜单时,菜单项:主菜单名项出现在定义主菜单时,菜单项#出现在定义出现在定义子菜单项时。当选中这一项时,在其右侧出现一文本框,用户可在文本框输入一子菜单项时。当选中这一项时,在其右侧出现一文本框,用户可在文本框输
19、入一个名字。选择这一项的目的主要是为了在程序中引用它。例如,利用它来设计动个名字。选择这一项的目的主要是为了在程序中引用它。例如,利用它来设计动态菜单。如果用户不选择这一项,系统也会为各个主菜单和子菜单指定一个名称态菜单。如果用户不选择这一项,系统也会为各个主菜单和子菜单指定一个名称的,只是用户不知道而已。的,只是用户不知道而已。v过程:用于定义一个与菜单相关联的过程,当用户选择了该菜单项后将执行这过程:用于定义一个与菜单相关联的过程,当用户选择了该菜单项后将执行这个过程。如果选择了这项,在其右侧将出现一个过程。如果选择了这项,在其右侧将出现一“创建创建”按钮,按下该按钮将调出按钮,按下该按钮
20、将调出编辑窗口供输入过程代码。编辑窗口供输入过程代码。http:/V FoxPro程序设计程序设计8.2.1菜单设计器v(3)选项)选项v单击该按钮将弹出单击该按钮将弹出“提示选项提示选项”对话框,如图对话框,如图8-6所示。所示。v通过提示选项对话框用户可以设置菜单中的各菜单项的属性。比如定义菜单项的通过提示选项对话框用户可以设置菜单中的各菜单项的属性。比如定义菜单项的快捷键,控制如何禁止或允许使用菜单项,选中的菜单项时在系统状态条上是否快捷键,控制如何禁止或允许使用菜单项,选中的菜单项时在系统状态条上是否显示对菜单项的说明信息,指定菜单项的名字以及在编辑显示对菜单项的说明信息,指定菜单项的
21、名字以及在编辑OLE对象期间控制菜对象期间控制菜单项的位置等。该对话框主要有以下选项:单项的位置等。该对话框主要有以下选项:图图8-6“提示选项提示选项”对话框对话框http:/V FoxPro程序设计程序设计8.2.1菜单设计器v“快捷方式快捷方式”选项区域:该区用于指定菜单或菜单项的快捷键。其中选项区域:该区用于指定菜单或菜单项的快捷键。其中“键标签键标签”文本框用于显示键组合。设置快捷键的方法是:将光标置于文本框用于显示键组合。设置快捷键的方法是:将光标置于“键标签键标签”文本框中,然后在键盘上按下快捷键,文本框中便会自动显文本框中,然后在键盘上按下快捷键,文本框中便会自动显示该快捷键名
22、称。例如按下示该快捷键名称。例如按下Crtl+R键,文本框中就出现键,文本框中就出现Crtl+R键。键。“键说明键说明”用于显示需要出现在菜单项旁边的文本,用作对快捷键的说明,用于显示需要出现在菜单项旁边的文本,用作对快捷键的说明,文本框中的内容通常与用户设置的快捷键名称相同。文本框中的内容通常与用户设置的快捷键名称相同。v“位置位置”选项区域:在该区域可指定用户在应用程序中编辑一个选项区域:在该区域可指定用户在应用程序中编辑一个OLE对象时菜单项的位置。有对象时菜单项的位置。有“无无”、“左左”“中中”“右右”多个选项。多个选项。v“跳过跳过”编辑框:设置一个表达式作为允许或禁止菜单项的条件
23、。当编辑框:设置一个表达式作为允许或禁止菜单项的条件。当菜单激活时,若表为真,则菜单项以灰色显示,表示当前不可用。菜单激活时,若表为真,则菜单项以灰色显示,表示当前不可用。v“信息信息”编辑框:定义菜单项的说明信息。当选中了该菜单项后,这编辑框:定义菜单项的说明信息。当选中了该菜单项后,这些信息将出现在些信息将出现在VFP的系统状态条上。的系统状态条上。v“主菜单名主菜单名/菜单项菜单项#”编辑框:指定主菜单项的内部名称或子菜单项编辑框:指定主菜单项的内部名称或子菜单项的序号。默认情况下,各菜单项无固定的名称,系统在生成菜单时将给的序号。默认情况下,各菜单项无固定的名称,系统在生成菜单时将给出
24、一个随机的名称或序号。出一个随机的名称或序号。v“备注备注”编辑框:在这里输入对菜单项的注释。不过这里的注释不会编辑框:在这里输入对菜单项的注释。不过这里的注释不会影响到生成的菜单程序代码,在运行菜单程序时影响到生成的菜单程序代码,在运行菜单程序时VFP将忽略所有的注释。将忽略所有的注释。http:/V FoxPro程序设计程序设计8.2.1菜单设计器v(4)“菜单级菜单级”下拉列表下拉列表v这个弹出列表显示当前所处的菜单级别。当菜单的层次较多时利用这一这个弹出列表显示当前所处的菜单级别。当菜单的层次较多时利用这一项可知道当前的位置。从子菜单返回上面任意一级菜单也要使用这一项。项可知道当前的位
25、置。从子菜单返回上面任意一级菜单也要使用这一项。v(5)“预览预览”按钮按钮v使用这个按钮可以预览当前定义的菜单,该菜单出现在原来系统菜单的使用这个按钮可以预览当前定义的菜单,该菜单出现在原来系统菜单的地方。可在所显示的菜单中进行选择,检查菜单的层次关系及提示等是地方。可在所显示的菜单中进行选择,检查菜单的层次关系及提示等是否正确,但是这种选择不会执行各菜单相应动作。否正确,但是这种选择不会执行各菜单相应动作。v(6)“插入插入”v单击该按钮可以在当前菜单的前面插入一新的菜单项。单击该按钮可以在当前菜单的前面插入一新的菜单项。v(7)“插入栏插入栏”按钮按钮v进行菜单设计器界面后,该按钮被激活
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 菜单 设计 应用
限制150内