10 . 2 . 1 菜单设计器
启动菜单设计器
在项目管理器中打开“其它”选项卡,选中“菜单”项,然后单击“新建”按钮,在“新建菜单”对话框(如图 10-1 所示)中单击“菜单”选项。
选择“文件 | 新建”命令,在“新建”对话框中选择“菜单”文件类型,然后单击“新建”按钮,在“新建菜单”对话框中单击“菜单”选项。
在命令窗口中输入命令: MODIFY MENU < 文件名 > ,其中的 < 文件名 > 指菜单定义文件,扩展名为 .mnx ,允许默认。
菜单设计器
菜单设计器窗口(如图 10-2 所示)由以下几部分组成:
图 10-2
( 1 )菜单名称 该列用于指定各菜单项的标题名称及菜单项的访问键。例如,定义一个标题名称为“编辑”的菜单项,并设置其访问键为字符 E ,可在菜单栏名称中输入“编辑( \<E )”或“ \<Edit ”。 注意,在 E 前必须加上“ \E ”两个字符。
为了增加可读性,可使用分割线将内容相关的菜单项分割成组。在菜单项名称栏中键入“ \- ”,便可创建一条分割线。
( 2 )结果 该列用于指定激活菜单项时的动作,有 4 个选项。
①命令 表示当前菜单项的功能是执行某条命令。命令代码可在列表框右侧的文本框中输入。
②子菜单 表示定义的当前菜单项包含子菜单。在菜单项中添加子菜单的方法如下:在菜单设计器的“菜单名称”栏中选择要添加子菜单的菜单项,在“结果”框中选择“子菜单”,此时“创建”按钮会出现在列表的右侧,如果已经有了子菜单,此时出现的是“编辑”按钮。单击“创建”或“编辑”按钮,菜单设计器窗口便切换到子菜单输入界面,然后在此窗口界面的“菜单名称”栏中定义子菜单项。
③过程 表示菜单被激活时将执行过程代码。单击列表框右边的“创建”按钮,可打开一个文本编辑窗口输入和编辑过程代码。
④填充名称或菜单项 # 表示为所选的菜单项指定一个内部名称或序号。
( 3 )选项 单击各列的“选项”按钮将出现一个“提示选项”对话框,用户可以为定义的菜单系统设置其它属性。
插入 单击此按钮,可在当前菜单项之前插入一个新菜单项。
插入栏 进入子菜单设计界面后,该按钮被激活,用于插入一个 VFP 系统菜单项。
删除 单击此按钮,可删除当前菜单项
预览 单击此按钮,可预览当前定义的菜单,
3 .“菜单”菜单
在菜单设计器环境下,系统菜单将添加一个“菜单”菜单项,主要功能有:
( 1 ) 快速菜单 用于快速设计菜单,打开菜单设计器后,在尚未输入任何其它内容时,执行该菜单命令将把系统菜单的内容提取到当前菜单设计器中,对该菜单进行调整设计后,可以形成一个新的菜单系统。
( 2 )生成 执行该命令后运行菜单生成程序,将当前定义的菜单文件生成对应的可执行的菜单程序文件。
4 .“显示”菜单
在菜单设计器环境下,系统的“显示”菜单将添加两个菜单项。
( 1 )常规选项 该菜单项将打开“常规选项”对话框,可以为整个菜单系统指定代码。该对话框有以下几个选项:
①过程编辑框 在该编辑框中可以为整个菜单系统设置一个过程代码。如果菜单系统的某个菜单项没有规定具体的动作,则在选择该菜单项时执行此处设置的菜单过程代码。
②位置区 包含 4 个选项,用于指定当前定义的菜单与系统菜单的关系。
?替换 将当前的菜单系统替换为用户自己定义的菜单系统。
?追加 将定义的菜单内容附加在当前系统菜单内容的后面。
?在 … 之前 将用户定义的菜单内容插入到当前系统菜单中某个指定菜单项的前面。
?在 … 之后 将用户定义的菜单内容插入到当前系统菜单中某个指定菜单项的后面。
③菜单代码 包括两个复选框。
?设置 选中此项将打开一个代码编辑窗口,可为定义的菜单系统加入一段初始化代码。
?清理 选中此项将打开一个代码编辑窗口,可为定义的菜单系统加入一段初清理代码。
④顶层表单 菜单设计器创建的菜单系统默认显示在 VFP 系统窗口中,如果希望定义的菜单出现在表单中,可以选中“顶层表单”复选框,同时将表单设置为“顶层表单”。
菜单选项 选择该菜单项将打开“菜单选项”对话框,可为菜单栏(即主菜单)或各子菜单项输入代码。该对话框包含以下几个选项:
①名称 显示菜单的名称。如果当前正在编辑子菜单,则名称可以改变;如果当前正在编辑主菜单,则名称是不可改变的。
②过程 在编辑框中可输入或显示菜单的过程代码。用户正在定义的是主菜单的一个菜单项时,这个过程文件可以被主菜单中的所有菜单项调用;如果正在定义的是子菜单的一个菜单项,则此过程可以被子菜单的所有菜单项调用。
10 . 2 . 2 设计自定义菜单
下面通过具体的实例说明自定义菜单的设计方法。
例:为教学管理应用程序设计一个菜单系统,如图 10-3 所示,主菜单包括“数据录入”、“查询统计”、“数据管理“ 3 个菜单项,且个菜单项分别带有下拉子菜单。
数据录入( E ) 查询统计( Q ) 数据管理( M ) |
|
学生名单
课程信息
学生成绩 |
|
成绩查询
课程查询
表 10-3
信息汇总
|
|
数据库维护
退出( X ) |
|
操作步骤:
① 规划菜单系统,菜单系统设置如表 10-1 所示。
菜单名称 |
结果 |
菜单级 |
数据录入( \<E ) |
子菜单 |
菜单栏 |
学生名单 |
命令 |
数据录入 E |
课程信息 |
命令 |
数据录入 E |
学生成绩 |
命令 |
数据录入 E |
查询统计( \<Q ) |
子菜单 |
菜单栏 |
成绩查询 |
命令 |
查询统计 Q |
课程查询 |
命令 |
查询统计 Q |
\- |
菜单项 # |
查询统计 Q |
信息汇总 |
命令 |
查询统计 Q |
数据管理 (\<M) |
子菜单 |
菜单栏 |
数据库维护 |
命令 |
数据管理 M |
推出( X ) |
命令 |
数据管理 M |
表 10-2
② 创建菜单系统。
?打开“教学 .PJX ”项目文件,启动项目管理器,选择“其它”选卡中的“菜单”项,单击“新建”按钮,在“新建菜单”对话框中选择“菜单”按钮图标,打开“菜单设计器”窗口。
?定义主菜单,如图 10-4.
?定义子菜单,单击“数据录入”菜单项的“创建”按钮,进入子菜单定义界面定义子菜单,如图 10-5
图 10-5
图 10-4
?在“退出”菜单项命令框中输入命令 QUIT ,当执行该菜单项时可退出 VFP 系统。
单击菜单设计器窗口的“预览”按钮,预览自定义的菜单系统。
选择“文件 | 另存为”命令保存菜单文件。
选择“菜单 | 生成”命令,生成菜单程序,将“教学管理 .MNX ”菜单定义文件生成为可执行的菜单程序文件“教学管理 .MPR ”。
关闭菜单生成器,在项目管理器中选择“菜单”项下的“教学管理”菜单,单击“运行”按钮,运行生成的程序菜单文件。
10 . 2 . 3 设计 SDI 菜单
SDI 菜单是出现在单文档( SDI )窗口中菜单。使用菜单设计器创建的用户菜单默认显示在 VFP 系统窗口中,不是显示在窗口的顶层。如果希望定义的菜单出现在窗口的顶层,即设计 SDI 菜单,可以创建一个顶层表单,并将用户定义的菜单添加在顶层表单中。具体方法是:
在菜单设计器中定义用户菜单。
在 VFP 系统中选择“显示 | 常规选项”命令,在常规选项对话框中选中“顶层表单”复选框。
生成菜单程序。
在表单设计器中设计一个表单,然后将表单的 ShowWindows 属性设置为 2 ,使其成为顶层表单。
在表单的 Init 事件代码中输入以下命令:
Do < 菜单程序名 > WITH THIS,.T.
|