您的位置: 网站首页 > 程序开发 > Visaul FoxPro程序设计 > 第10章 菜单与工具栏设计 > 【10.2 菜单的设计】

10.2 菜单的设计

 

10.2  菜单的设计

同样,在Visual FoxPro中为用户提供了菜单设计器,从而可以使用户创建快捷菜单、快速菜单、子菜单及菜单项分组等。

10.2.1  菜单设计器的使用 

10-2  “新建菜单”对话框

用户要启动菜单设计器,可以通过以下几种方法。

1)单击“常用”工具栏的“新建”按钮,在弹出的“新建”对话框中选择“菜单”项,然后单击“新建文件”按钮,再在弹出的“新建菜单”对话框中单击“菜单”图形按钮,如图10-2所示。

2)在“项目管理器”窗口的“其他”选项卡中选择“菜单”项,单击“新建”按钮,在弹出的“新建菜单”对话框中单击“菜单”按钮。

3)在命令窗口中输入Create MenuModify Menu命令。

通过以上任意一种方法启动菜单设计器后,将在打开 “菜单设计器”窗口的同时还将在主窗口菜单上增加“菜单”的菜单,并在“显示”菜单中增加“菜单选项”和“常规选项”两个菜单项,如图10-3所示。

10-3  “菜单设计器”窗口

在“菜单设计器”窗口中,每个选项及按钮的功能说明如下:

1)菜单名称栏。在此输入菜单的提示字符串,可以通过在某一字母前输入“\<”来设置菜单的快捷键。

2)结果栏。选定菜单项的类别,如下所示。

子菜单:即此菜单项下还有子菜单,单击右边的编辑按钮可编辑子菜单。

命令:选择此菜单执行一条命令,可调用一个程序。

主菜单名或菜单项:给菜单对象设置一个名字,以方便对它的引用。

过程:定义一个与菜单项相关联的过程。

3)选项按钮栏(位于选项列下方)。单击此按钮弹出如图10-4所示的“提示选项”对话框,在此对话框中可设置菜单的属性,包括:菜单的快捷键、控制菜单项的说明信息的显示、控制菜单项的允许和禁止、指定菜单项的名字等。

10-4  提示选项对话框

4)菜单级。此处显示当前所处的菜单级别,从子菜单返回上面的任一级菜单使用时,也可使用此下拉列表框。

5)“预览”按钮。可以查看所设计菜单的效果,但不执行任何操作。

6)“插入”和“删除”按钮。“插入”按钮指在当前菜单之前插入一个菜单项;“删除”按钮指删除当前的菜单项。

10.2.2  创建快速菜单

若要从已有的Visual FoxPro菜单系统开始创建菜单,则可以使用快速菜单功能。

在如图10-3所示的“菜单设计器”窗口中,单击菜单“菜单”“快速菜单”命令,这时“菜单设计器”中包含了关于Visual FoxPro主菜单的信息,如图10-5所示。然后通过添加或修改菜单项来定制新的菜单系统。

例如,要在“帮助”菜单前插入“正通科技”菜单,首先应选择“帮助”项,再单击“插入”按钮,然后在“菜单名称”栏中键入“正通科技”。当单击“预览”按钮时,在Visual FoxPro系统菜单上插入了新的菜单,如图10-6所示。

10-5  建立的快速菜单

10-6  插入的新菜单

在“菜单设计器”窗口中设计的菜单是保存在一个以*.mnx为文件扩展名的数据表中,该表存储与菜单系统有关的所有信息,因此这时菜单并不能被调用。要在应用程序中使用菜单,必须先通过*.mnx表来生成相应的程序代码。单击菜单“菜单”“生成”命令,Visual FoxPro提示将菜单系统以*.mnx为文件扩展名保存。在保存菜单系统之后,Visual FoxPro 提示一个带有*.mpr 扩展名的输出文件,此文件将包含已生成的菜单程序。

当生成相应的菜单程序后,就可以在程序或命令窗口中使用以下代码来执行菜单:

DO  <菜单程序.MPR>

注意:在命令窗口中输入“SET SYSMENU TO DEFAULT”命令即可恢复Visual FoxPro的原有系统菜单。

10.2.3  创建快捷菜单

在控件或对象上单击鼠标右键时,会显示快捷方式菜单,在此菜单中快速展示当前对象可用的所有功能。使用Visual FoxPro提供的菜单设计器,同样可以方便地创建由用户自定义的快捷菜单。

【例10-1新建一个表单并浏览学生档案表,然后设计一个包含“剪切”、“复制”和“粘贴”等命令的快捷菜单,其具体操作步骤如下:

1)在如图10-2所示的对话框中单击“快捷菜单”图形按钮,将弹出“快捷菜单设计器”窗口。

2)添加菜单项的过程与创建菜单完全相同,将所需要的快捷菜单插入到窗口中,如图10-7所示。

10-7  快捷菜单设计器

3)单击菜单“菜单”→“生成”命令,对所创建的快捷菜单进行生成和保存(快捷菜单.mpr)。当将该快捷菜单添加到“项目管理器”中时,运行该快捷菜单的效果如图10-8所示。

10-8  运行的快捷菜单

4)使用前面第8章中所讲述的方法,新建一个表单并保存为“例10-1,如图10-9所示。

5)双击该表单,并编写其Activate事件代码。

PUSH KEY CLEAR

ON KEY LABEL RIGHTMOUSE DO 快捷菜单.mpr

6)再编写表单的Destroy事件代码。

PUSH KEY CLEAR

7)运行表单“例10-1,在其中选定任何数据后单击鼠标右键,即可弹出新建立的快捷菜单,如图10-10所示。

      

10-9  创建浏览数据表单               10-10  运行中的快捷菜单

10.2.4  创建子菜单

在创建系统菜单时,若该菜单中还包括有其他操作命令,可以通过子菜单的方式来执行,即创建子菜单。

【例10-2要在如图10-6所示的“菜单设计器”窗口中添加的“正通科技”菜单下添加子菜单,应在“结果”栏中选择“子菜单”命令,并单击“创建”或“编辑”按钮,此时出现一个设计窗口,在此窗口中输入相应的子菜单,如图10-11所示。

10-11  创建的子菜单

重新对该菜单进行生成并运行,然后在“项目管理器”窗口中运行该菜单,其Visual FoxPro的主菜单将添加“正通科技”菜单项,单击该菜单即可显示其子菜单,如图10-12所示。

10-12  运行的菜单

为增强可读性,可使用分隔线将内容相关的菜单项分隔成组。用户只需在“菜单名称”栏中输入“\-”便可以创建一条分隔线,如图10-13所示。

10-13  创建分隔线