您的位置: 网站首页 > 程序开发 > Visaul FoxPro程序设计 > 第10章 菜单与工具栏设计 > 【10.3 为菜单系统指定任务】

10.3 为菜单系统指定任务

 

10.3  为菜单系统指定任务

在创建菜单系统时,需要考虑系统访问的简便性,也必须为系统指定任务,如显示表单、工具栏以及其他的菜单系统。应该定义可以访问菜单系统的访问键和添加键盘的快捷键,并且控制菜单何时可用。

10.3.1  指定访问键

设计良好的菜单都具有访问键,从而通过键盘可以快速地访问菜单的功能。在菜单标题或菜单项中,访问键用带有下划线的字母表示。例如,Visual FoxPro 的“文件”菜单使用“F”作为访问键。如果没有为某个菜单标题或菜单项指定访问键,则Visual FoxPro自动指定第一个字母作为访问键。如“正通科技”菜单中的“H”即可以作为访问键。

若要为菜单或菜单项指定访问键,可以在访问键的字母左侧输入“\<”。例如,要在“正通科技”菜单标题中设置“R”作为访问键,可在“菜单名称”栏中将“正通科技”替换为“正通科技(\<R)”。

注意:如果菜单系统的某个访问键不起作用,则可查看是否有重复的访问键。

10.3.2  指定键盘快捷键

与使用访问键一样,使用键盘快捷键是当按下某个键的同时再按另一个键而选择菜单或菜单项,它可以在不显示菜单的情况下选择此菜单中的一个菜单项。

Visual FoxPro菜单项的快捷键一般用CtrlAlt键与另一个键配合使用。例如,按组合键Ctrl+O可在Visual FoxPro 中打开文件。

【例10-3若要为前面创建的“正通科技”菜单指定快捷键,其具体操作步骤如下:

1)在“菜单名称”栏中,选择相应的菜单标题或菜单项。

2)单击“选项”栏中的按钮 ,将弹出如图10-14所示的“提示选项”对话框。

10-14  指定键盘快捷键

3)将光标置于“键标签”文本框中,按需要的组合键即可,如组合键Ctrl+H。然后单击“确定”按钮,重新生成并保存,此时在键盘上按Ctrl+H组合键即可打开该菜单项。

注意:组合键“Ctrl+J”是无效的快捷键,因为在Visual FoxPro中经常使用它作为关闭某些对话框的快捷键。

10.3.3  启用和废止菜单项

用户可以根据逻辑条件判断菜单或菜单项是否启用或废止。如图10-14所示的“提示选项”对话框中,在“跳过”文本框中输入逻辑条件,或者单击后面的三点按钮,系统会弹出“表达式生成器”对话框,输入逻辑表达式即可。

如果表达式取值为“假”(.F.),则启用菜单或菜单项,如果表达式取值为“真”(.T.),则废止菜单或菜单项。

注意:显示菜单系统后,可以使用SET SKIP OF 命令启用或废止菜单及菜单项。

10.3.4  为菜单或菜单项指定任务

选择一个菜单或菜单项,将执行相应的任务,如显示表单、工具栏或另一个菜单系统等。要执行任务,菜单或菜单项就必须执行一个Visual FoxPro命令,此命令可以是一条语句,也可以是一个过程调用。

如果预计在若干个地方都会使用同样一组命令,则应编写一个过程,该过程必须在菜单清理代码或其他菜单、对象能引用的位置明确命名和编写。

10.3.5  使用命令完成任务

要执行任务,可以为菜单或菜单项指定一个命令,此命令可以是任何有效的Visual FoxPro命令,包括对程序和过程的调用,其中的程序要在指定的路径上,过程则应该在“常规选项”对话框的“清理”选项中定义。

要为菜单或菜单项指定命令任务,在“菜单设计器”对话框中选择指定的“菜单名称”栏,并在“结果”下拉框中选择“命令”,然后在其后的文本框中输入正确的命令。

10.3.6  为菜单指定命令

如果该命令调用了菜单清理代码中的一个过程,则使用具有以下语法的DO命令:

DO procname IN menuname

在上面的语法中,menuname 指定过程的位置,代表菜单文件名,并有.mpr的扩展名。如果menuname 没有指定菜单的位置,而在该菜单的清理代码中有该过程的定义,则必须使用SET PROCEDURE 命令指定此过程的位置。

10.3.7  使用过程完成任务

可以为菜单或菜单项指定一个过程,这取决于菜单或菜单项是否有子菜单。

若要为不含有子菜单的菜单或菜单项指定过程,其步骤如下:

1)在“菜单名称”栏中,选择相应的菜单标题或菜单项。

2)在“结果”下拉框中选择“过程”,其“创建”按钮出现在列表的右侧,如果已经定义了一个过程,则这里出现的是“编辑”按钮。

3)单击“创建”或“编辑”按钮,此时系统会弹出一个窗口,用于编辑过程代码。

注意:由于Visual FoxPro会自动生成“PROCEDURE”这一行代码,因而不必在过程编辑窗口中键入此命令,只有在清理代码中才需要PROCEDURE 命令。

若要为含有子菜单的菜单或菜单项指定过程,其步骤如下:

1)在“菜单级”框中,选择包含相应菜单或菜单项的菜单级。

2)单击菜单“显示”“菜单选项”命令,此时会弹出如图10-15所示的“菜单选项”对话框。

3)在“过程”编辑框中编写或调用过程,或者单击“编辑”按钮打开独立的编辑窗口编写或调用过程。

10-15  “菜单选项”对话框