菜单设计与应用

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

VFP课程建设组第八章菜单设计与应用程序设计目录VisualFoxPro系统菜单1菜单设计2快捷菜单设计3程序设计8.1VisualFoxPro系统菜单在Windows环境下,常见的菜单类型有两种:下拉式菜单和快捷菜单。一、下拉式菜单一般是由一个称作“主菜单”的条形菜单栏和一组称作“子菜单”的下拉式菜单组成。条形菜单栏一般位于应用程序窗口的标题栏的下方,是一个启动应用程序后始终都可以看到的菜单名列表栏。菜单栏中的每个菜单名代表一个主菜单项,每一个主菜单项可以直接对应一个命令或过程。通常,每一个主菜单项对应有一个下拉菜单作为它的子菜单,子菜单中包含了一组菜单选项。子菜单中的每个菜单项可直接对应一条命令,也可对应于下一级子菜单,子菜单里又可以包含一组相关的菜单项,从而形成一种级联的菜单结构。8.1.1菜单结构程序设计8.1.1菜单结构在子菜单中,对功能上密切相关的菜单项可以放置分隔线划分菜单选项的组别。菜单项一般都有一个热键,用括号中带下划线的字母表示,同时按ALT键和带下划线的字母键即可下拉出所代表的菜单。快捷键通常是Ctrl键和另一个字符键组成的组合键,不论菜单是否激活,都可以通过快捷键选择相应的菜单项。如图8-1所示。图8-1VFP系统菜单程序设计8.1.1菜单结构二、快捷菜单当鼠标指针指向某个界面对象单击鼠标右键,通常会弹出一个快捷菜单,列出针对当前对象的各种可用命令,免除了在主菜单中一一查找的麻烦。快捷菜单一般只有一个弹出式菜单。菜单组中的每个菜单项可直接对应于一条命令,也可对应于一个级联子菜单。图8-2是在VFP命令窗口右击时弹出的快捷菜单,其中列出了与命令窗口操作有关的命令项。图8-2快捷菜单程序设计8.1.2系统菜单VisualFoxPro系统菜单是一个典型的菜单系统,其主菜单是一个条形菜单。选择条形菜单中的每一个菜单项都会弹出一个下拉菜单。在VisualFoxPro中,每一个条形菜单都有一个内部名字和一组菜单选项,每个菜单选项都有一个名称(标题)和内部名字。例如,VisualFoxPro主菜单的内部名字为_MSYSMENU,条形菜单项“文件”、“编辑”和“窗口”的内部名字分别为_MSM_FILE,_MSM_EDIT,_MSM_WINDOW。每一个弹出式菜单也有一个内部名字和一组菜单选项,每个菜单选项则有一个名称(标题)和选项序号。例如,_MFILE,_MEDIT,_MWINDOW为弹出式菜单项“文件”、“编辑”和“窗口”的内部名字。菜单项的名称用于在屏幕上显示菜单系统,而内部名字或选项序号则用于在程序代码中引用。程序设计8.1.2系统菜单通过SETSYSMENU命令可以允许或禁止在程序执行时访问系统菜单,也可以重新设置系统菜单。命令格式:SETSYSMENUON|OFF|AUTOMATIC|TO[弹出式菜单名表]|TO[条形菜单项名表]|TO[DEFAULT]|SAVE|NOSAVE其中:ON允许程序执行时访问系统菜单;OFF禁止程序执行时访问系统菜单;AUTOMATIC可使系统菜单显示出来,可以访问系统菜单;TO子句用于重新设置系统菜单:“TO[弹出式菜单名表]”以菜单项内部名字列出可用的弹出式菜单,“TO[条形菜单项名表]”以条形菜单项内部名字列出可用的子菜单,“TO[DEFAULT]”将系统菜单恢复为缺省配置;SAVE将当前系统菜单配置指定为缺省配置;NOSAVE将缺省设置恢复成VisualFoxPro系统的标准配置。程序设计8.1.2系统菜单【例8-1】要求仅保留VisualFoxPro系统菜单的“文件”、“工具”、“窗口”和“格式“菜单,其他选项从系统菜单中移去。在命令窗口输入以下命令并执行,执行后系统菜单显示效果如图8-3所示。命令序列:SETSYSMENUTO_MFILE,_MTOOLS,_MWINDOW,_MSM_TEXT图8-3设置后的菜单窗口程序设计8.1.2系统菜单【例8-2】将系统菜单恢复成标准菜单。命令序列:SETSYSMENUNOSAVESETSYSMENUTODEFAULT逐条执行上述命令后,系统菜单将恢复成标准设置。【例8-3】从“文件”菜单项的下拉菜单中移去“新建”和“打开”菜单项。通过RELAEASEBAR命令可以从指定的菜单中移去指定的菜单项。命令格式:RELEASEBAR下拉菜单项名OF菜单项名命令序列:RELEASEBAR_MFI_NEWOF_MFILERELEASEBAR_MFI_OPENOF_MFILE逐条执行上述命令后,“文件”菜单项的下拉菜单中移去了“新建”和“打开”两个菜单项。程序设计8.2菜单设计开发一个应用程序通常都需要创建自己的菜单系统。不管应用程序的规模多大,打算使用的菜单多么复杂,创建菜单系统都需要以下步骤:第1步:规划与设计系统:确定需要哪些菜单、出现在界面的何处以及哪几个菜单要有子菜单等等。第2步:创建菜单和子菜单:使用菜单设计器可以定义菜单标题、菜单项和子菜单。第3步:按实际要求为菜单系统指定任务:指定菜单所要执行的任务,例如显示表单或对话框等。另外,如果需要,还可以包含初始化代码和清理代码。初始化代码在定义菜单系统之前执行,其中可以打开文件;声明变量;或将菜单系统保存到堆栈中,以便可以在后面的程序执行中恢复。清理代码中包含的代码在菜单的定义代码之后执行,使菜单和菜单项可用或不可用。第4步:生成菜单程序。第5步:运行生成的程序,测试菜单系统。程序设计8.2.1菜单设计器要创建用户的菜单系统,可以使用菜单设计器。进入菜单设计器的方法有多种,最简单的方法是:从“文件”菜单中,选择“新建”菜单项,得到新建对话框,选中“菜单”单选按钮,单击“新建文件”按钮进入菜单设计器窗口,如图8-5所示。图8-5“菜单设计器”对话框程序设计8.2.1菜单设计器菜单设计器窗口主要由以下几部分组成:(1)菜单名称该列用于指定各菜单项的标题名称及菜单项的访问键。例如:定义一个标题名为“文件”的菜单项,并设置其访问键为F键,可在菜单名栏中输入“文件(\F)”。要用分隔线功能将相关的菜单项分别成线,在“菜单名称”栏中键入“\-”,便可创建一条分隔线。此外,在每个菜单项的前面有一个小方块按钮,当鼠标移动到它的上面时形状会变成上下双箭头的样子。这个按钮是标准的移动指示器,用鼠标上下拖动它可以改变当前菜单项在菜单列表中的位置。程序设计8.2.1菜单设计器(2)结果该列用于指定激活菜单项时的动作,有以下4个选项:①子菜单:如果用户所定义的当前菜单项还有子菜单的话应选择这一项。当选中该项后,在其右侧将出现一“创建”按钮,单击“创建”按钮后将进入新的一屏来设计子菜单。②命令:如果当前菜单项的功能是执行某种动作的话应选择这一项。当选中该项后,在其右侧出现一文本框,在这个文本框中输入要执行的命令。这个选项仅对应于执行一条命令或调用其他程序的情况。如果所要执行的动作需多条命令完成,而又无相应的程序可用,那么在这里应该选择“过程”。③主菜单名/菜单项#:主菜单名项出现在定义主菜单时,菜单项#出现在定义子菜单项时。当选中这一项时,在其右侧出现一文本框,用户可在文本框输入一个名字。选择这一项的目的主要是为了在程序中引用它。例如,利用它来设计动态菜单。如果用户不选择这一项,系统也会为各个主菜单和子菜单指定一个名称的,只是用户不知道而已。④过程:用于定义一个与菜单相关联的过程,当用户选择了该菜单项后将执行这个过程。如果选择了这项,在其右侧将出现一“创建”按钮,按下该按钮将调出编辑窗口供输入过程代码。程序设计8.2.1菜单设计器(3)选项单击该按钮将弹出“提示选项”对话框,如图8-6所示。通过提示选项对话框用户可以设置菜单中的各菜单项的属性。比如定义菜单项的快捷键,控制如何禁止或允许使用菜单项,选中的菜单项时在系统状态条上是否显示对菜单项的说明信息,指定菜单项的名字以及在编辑OLE对象期间控制菜单项的位置等。该对话框主要有以下选项:图8-6“提示选项”对话框程序设计8.2.1菜单设计器①“快捷方式”选项区域:该区用于指定菜单或菜单项的快捷键。其中“键标签”文本框用于显示键组合。设置快捷键的方法是:将光标置于“键标签”文本框中,然后在键盘上按下快捷键,文本框中便会自动显示该快捷键名称。例如按下Crtl+R键,文本框中就出现Crtl+R键。“键说明”用于显示需要出现在菜单项旁边的文本,用作对快捷键的说明,文本框中的内容通常与用户设置的快捷键名称相同。②“位置”选项区域:在该区域可指定用户在应用程序中编辑一个OLE对象时菜单项的位置。有“无”、“左”“中”“右”多个选项。③“跳过”编辑框:设置一个表达式作为允许或禁止菜单项的条件。当菜单激活时,若表为真,则菜单项以灰色显示,表示当前不可用。④“信息”编辑框:定义菜单项的说明信息。当选中了该菜单项后,这些信息将出现在VFP的系统状态条上。⑤“主菜单名/菜单项#”编辑框:指定主菜单项的内部名称或子菜单项的序号。默认情况下,各菜单项无固定的名称,系统在生成菜单时将给出一个随机的名称或序号。⑥“备注”编辑框:在这里输入对菜单项的注释。不过这里的注释不会影响到生成的菜单程序代码,在运行菜单程序时VFP将忽略所有的注释。程序设计8.2.1菜单设计器(4)“菜单级”下拉列表这个弹出列表显示当前所处的菜单级别。当菜单的层次较多时利用这一项可知道当前的位置。从子菜单返回上面任意一级菜单也要使用这一项。(5)“预览”按钮使用这个按钮可以预览当前定义的菜单,该菜单出现在原来系统菜单的地方。可在所显示的菜单中进行选择,检查菜单的层次关系及提示等是否正确,但是这种选择不会执行各菜单相应动作。(6)“插入”单击该按钮可以在当前菜单的前面插入一新的菜单项。(7)“插入栏”按钮进行菜单设计器界面后,该按钮被激活,用于插入一个VFP系统菜单项。单击此按钮,打开“插入系统菜单条”对话框,其中列出了各种VFP系统菜单命令。(8)“删除“按钮删除当前的菜单项。程序设计8.2.1菜单设计器要提醒用户注意的是,在菜单设计器环境下,系统的“显示”菜单中增加了与菜单有关的两个选项。(1)常规选项选择该菜单项将打开“常规选项”对话框,如图8-8所示。该对话框用于为整个菜单系统指定代码。它主要由“过程”、“编辑”、“位置”、“菜单代码”和“顶层表单”组成。(2)

1 / 38
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功