资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第7章 菜单设计,在Visual FoxPro中,使用“菜单设计器可以创立下拉式菜单,使用“快捷菜单设计器可以创立右键弹出快捷菜单。,一、设计和规划菜单系统,一根本概念,一个完整的下拉式菜单系统包括主菜单栏、由菜单项构成的下拉菜单子菜单,菜单项中还可以包含子菜单。,l主菜单 也叫菜单栏,是指位于窗口标题下的水平条形菜单。,l主菜单项 主菜单的菜单项。,l子菜单 选择菜单项时出现的下拉菜单,由一系列菜单项组成。根据需要可为菜单项设计与其对应的子菜单。,l子菜单项 子菜单的菜单项。,l访问键 在菜单标题后括号内的带下划线的字母是这个菜单项的访问键。同时按下和访问键可以激活菜单。,l快捷键 为快捷访问菜单项而设置的组合键。一般由Ctrl键或Alt键与一个英文字母组成。使用它可以在不翻开菜单的情况下选择菜单项。,l菜单系统 由一个菜单栏、菜单项和下拉菜单组成。,二设计和规划菜单,1.创立菜单系统的步骤,规划与设计系统,确定需要哪些菜单、出现在界面的何处以及哪几个菜单要有子菜单等等。有关规划菜单系统的详细内容,请参阅本章稍后的“规划菜单系统。,创立菜单和子菜单,使用菜单设计器可以定义菜单标题、菜单项和子菜单。,按实际要求为菜单系统指定任务,指定菜单所要执行的任务,例如显示表单或对话框等,如果需要,还可以包含初始化代码和清理代码。,生成菜单程序,运行并测试菜单系统,2.规划菜单系统,在设计菜单系统时,请考虑以下准那么:,按照用户所要执行的任务组织系统,而不要按应用程序的层次组织系统。,只要查看菜单和菜单项,用户就应该可以对应用程序的组织方法有一个感性认识。因此,要设计好这些菜单和菜单项,您必须清楚用户思考问题的方法和完成任务的方法。,给每个菜单一个有意义的菜单标题。,按照估计的菜单项使用频率、逻辑顺序或字母顺序组织菜单项。如果不能预计频率,也无法确定逻辑顺序,那么可以按字母顺序组织菜单项。当菜单中包含有八个以上的菜单项时,按字母顺序特别有效。太多的菜单项需要用户花费一定的时间才能浏览一遍,而按字母顺序那么便于查看菜单项。,在菜单项的逻辑组之间放置分隔线。,将菜单上菜单项的数目限制在一个屏幕之内。,如果菜单项的数目超过了一屏,那么应为其中的一些菜单项创立子菜单。,为菜单和菜单项设置访问键或键盘快捷键。例如,ALT+F 可以作为“文件菜单的访问键。,使用能够准确描述菜单项的文字。描述菜单项时,请使用日常用语而不要使用计算机术语。同时,说明选择一个菜单项产生的效果时,应使用简单、生动的动词,而不要将名词当作动词使用。另外,请用相似语句结构说明菜单项。例如,如果对所有的菜单项的描述都使用了同一个词,那么这些描述应使用相同的语言结构。,在菜单项中混合使用大小写字母。,二、利用菜单设计器创立菜单系统,规划好菜单系统之后,就可以使用菜单设计器创立该系统了。用户可以采用以下三种方式翻开菜单设计器:,l使用“工程管理器,l使用“文件菜单中的“新建命令,l使用CREATE MENU命令,一菜单设计器的使用,使用菜单设计器,您可以创立菜单、快捷菜单、菜单项、子菜单和菜单项组之间的分隔线等等。,菜单设计器主要包括以下6局部。,1.菜单名称,在这里输入菜单标题。用户还可以使用符号“定义访问键。如果用户未定义,菜单标题的第一个字母即被默认为访问键。,2.结果,指定用户在选择菜单标题或菜单项时,将执行的动作。它的下拉列表有4个选项。,“命令选项:用于在其后显示的文本框中输入一条命令。该命令与创立的菜单项一一对应。,“填充名称选项:用于在其后显示的文本框中为菜单项命名,该名称用来供其它程序调用。缺省情况下,系统将自动为每一个菜单项命名。,“子菜单选项:用于确定要创立一个子菜单。选择“子菜单选项以后,单击其后的“创立按钮,可以建立一个子菜单。,“过程选项:用于为要创立的菜单项建立一个对应的过程程序。选择“过程选项以后,单击其后的“创立按钮,可以建立一个过程程序。,3.选项,选择菜单项时,“选项下方自动出现一个按钮,单击该按钮将弹出“提示选项对话框。在“提示选项对话框中,可以定义键盘快捷键、控制禁止使用菜单或菜单项的条件。,4.菜单级,显示当前正在设计的菜单级,在下拉列表框中还列出了当前子菜单的上一级菜单名。选择上一级菜单名可以返回上一级菜单栏对话框。,5.菜单项,插入,在当前菜单项的前面插入一个新的菜单项。,插入栏,单击“插入栏按钮,翻开“插入系统菜单栏对话框,可以从中选择Visual FoxPro菜单项插入当前菜单中。,删除,当前菜单项。,6.预览,在原来系统所在的地方显示正在创立的的菜单。可在显示的菜单中进行选择,检查菜单的层次关系及提示等是否正确,但这时的选择不执行各菜单的相应动作。,二常规选项和菜单项选择项,当菜单设计窗口翻开时,“显示菜单中增加了“常规选项和“菜单项选择项。,1.常规选项,中选择“常规选项时,将显示“常规选项对话框。该对话框为整个应用菜单系统输入代码,它主要由以下5个局部组成。,“过程编辑框,在这里为某个指定菜单项的过程,但这里输入的过程是在不存在其它过程或命令时才运行。,“编辑按钮,单击该按钮将翻开一个大的编辑窗口,输入菜单过程的代码。,“位置,位置区有四个按钮,用来描述用户定义的菜单与系统菜单的关系。,菜单代码,菜单代码区包括设置和清理两个复选框。,设置:选中这一项,将翻开一个编辑框,为菜单系统参加一段初始化代码。该代码段位于菜单程序的首部,主要用来进行全局性设置。例如,设置全局变量,开辟数组,或设置环境等。,清理:选中这一项,也将翻开一个编辑框,为菜单系统参加一段清理代码。典型的清理代码包含初始时菜单或菜单项可用与不可用的代码。清理代码是在初始代码及菜单定义代码之后,而在为菜单项指定的过程代码之前。,顶层菜单,如果选定该复选框,将允许该菜单在顶层表单中使用。如果未选定,只允许在Visual FoxPro系统窗口中使用该菜单。,2.菜单项选择项,中选择了“菜单项选择项时,将出现“菜单项选择项对话框。该对话框用于为菜单或菜单项指定代码,它包括以下3个选项。,名称 在这里显示的是菜单的名称。如果用户正在编辑主菜单,那么此处的名称是不可改变的其名称为“菜单栏,即所有的主菜单项共享一个过程。如果用户正在编辑子菜单,那么此处的名称可以改变。缺省时这里与用户在菜单设计器窗口中“菜单级下拉列表框中显示的内容一样,在使用汉字提示的情况下最好在这里把名称改成英文字母或汉语拼音字母。,过程 这个编辑框用于输入菜单的过程代码。假设用户正在定义的是主菜单上的一个选项时,那么此过程文件可以被主菜单上的所有过程文件所调用。假设用户正在定义的是子菜单上的一个选项时,那么此过程文件可以被子菜单上的所有过程文件所调用。,编辑按钮 单击该按钮将翻开一个代码编辑窗口,可以在其中输入菜单的过程代码。,三、,连接菜单和任务,连接菜单和任务,就是为菜单指定一个任务。此任务可以是子菜单、填充名称、命令和过程。在菜单设计器中介绍过各自的功能,这里主要介绍,指定命令,和,过程,的方法。,1.命令:例如为菜单项“填写进货单指定一个命令。在“结果栏中选择“命令,在后面的编辑框中输入“DO FORM JH_OPT即可。,2.过程:例如,从用户界面的菜单退到Visual FoxPro的菜单系统,可为“退出创立一个过程,在“过程栏中选择“过程,其右侧将出现一“创立按钮,单击此按钮将调出编辑窗口,可以在此输入如下过程代码。,SET SYSMENU TO DEFAULT,RETURN,四、生成和运行菜单系统,在设计菜单之后,系统将保存设计结果,形成菜单文件.MNX,而.MNX是不能直接运行的。在菜单设计器翻开的情况下,选择系统菜单“菜单菜单中的“生成选项,在出现的“生成菜单对话框的“输出文件框中键入生成的菜单程序的名称,选择“生成按钮,就会生成扩展名为.mpr 的菜单程序文件。,假设要运行菜单程序,可在工程管理器中选择想要运行的菜单,并按下“运行按钮;也可选择系统菜单“程序中的“运行项,在弹出的对话框中选择想要运行的菜单程序;也可在程序中或命令窗口中执行如下命令:,DO MenuFileName.MPR,可以通过运行每个菜单项来测试。,五、创立快捷菜单,菜单设计器除用来设计下拉式菜单外,还可设计快捷菜单。快捷菜单是一种单击右键才出现的弹出式菜单。实际上菜单设计器仅能生成快捷菜单的菜单本身,实现单击右键来弹出一个菜单的动作还须编程。,1.创立快捷菜单,创立快捷菜单的方法与创立菜单类似。创立菜单时,系统首先显示菜单类型选择框,选择“快捷菜单就出现快捷菜单设计器。,2.将快捷菜单附加到控件中,如果要把设计的快捷菜单添加到已经设计的表单中,使用如下步骤:,1选择想要附加快捷菜单的表单。,2在表单的“属性窗口中选择“RightClick Event。,3在代码窗口中键入“Do Menu.mpr,Menu是快捷菜单的文件名。,4保存表单。运行表单,右击表单中的空白区域,即可弹出快捷菜单。,
展开阅读全文