九、菜单设计与应用
(一)关于菜单的基本概念
1.vf菜单的种类:
1)下拉式菜单:由一个条形菜单和一组弹出式菜单(即子菜单)组成。
2)快捷菜单:一般由一个或一个上下级的弹出式菜单组成。
注意:每个菜单项都有其名称(即标题)和一个内部名字。
2.菜单文件的扩展名为.mnx;菜单程序文件的扩展名为.mpr
(二)菜单文件与菜单程序文件的操作
1.建立:3种方法,调用菜单设计器并定义菜单
1)文件—新建—文件类型:菜单—新建文件—新建菜单—菜单设计器
2)项目管理器—其他选项卡—菜单—新建—新建文件—新建菜单—菜单设计器
3)create menu 菜单文件名(.mnx可省略)
modify menu 菜单文件名(.mnx可省略),若文件存在为修改,否则为新建
2.生成菜单程序:菜单设计器—“菜单”菜单—生成—指定菜单程序文件的名称和路径—生成(即生成菜单程序文件.mpr)
注意:菜单设计完成后必须生成!!否则,菜单不存在。
3.运行或执行菜单的方法:
1)程序—运行—选中相应菜单程序文件—确定
2)do 菜单程序文件名.mpr(扩展名不可省略)
(三)菜单设计
1.下拉式菜单设计,步骤如下:
1)新建菜单文件,打开菜单设计器
2)编辑菜单
①菜单编辑器中:
² “菜单名称”列——指定菜单项的名称,也称标题,用于显示,并非内部名字
– 添加菜单项的访问键(热键):在字母前加上“\
– 添加菜单项的分组线:在相应行前的“菜单名称”列上输入“\-”两个字符
² “结果”列——指定当前用户选择该菜单项时的动作
– 命令:选此选项时,列表框右侧会出现文本框,可在其中输入一条具体的命令,当选择该菜单项时,将执行这条命令
– 过程:选此选项时,列表框右侧会出现“创建”命令按钮,单击此按钮时将打开一个文本编辑窗口,在其中输入或编辑过程代码;以后,再单击该列时,列表框右侧出现的是“编辑”按钮,当选择该菜单项时,将执行指定的代码程序
– 子菜单:选此选项时,列表框右侧会出现“创建”命令按钮,通过此项可以定义其子菜单;以后,再单击该列时,列表框右侧出现的是“编辑”按钮
– 填充名称或菜单#:选此选项时,列表框右侧会出现一个文本框,可在其中输入菜单项的内部名字或序号,若当前定义的是条形菜单,该选项为“填充名称”,指定菜单项的内部名字;若当前定义的是弹出式子菜单,该选项为“菜单项#”,指定菜单项的序号
² “选项”列——为一个无符号按钮,单击该按钮就会出现“提示选项”对话框,供用户定义菜单项的其他属性,定义了属性后,该按钮上就会出项ü符号
– 快捷方式:指定菜单项的快捷键。方法为先用鼠标单击“键标签”文本框,使光标定位于该处,然后在键盘上按快捷键,即CTRL或ALT键与另一个字符键的组合;取消已定义好的快捷键,只需先单击“键标签”文本框,然后按空格键即可。
– 跳过:定义菜单项的跳过条件
– 信息:定义菜单项的说明信息
– 主菜单名或菜单项#:指定条形菜单项的内部名字或弹出式菜单菜单项的序号,若不指定,系统会自动设定(注意:只有菜单项的结果列选择为命令,过程或子菜单时该文本框才有效)
此外,菜单设计器中还有以下按钮:
插入——可在当前菜单项行之前插入一个新的菜单项行
插入栏——在当前菜单项行之前插入一个vf系统菜单命令,选中相应菜单项后插入
删除——可删除当前菜单项行
预览——可预览菜单效果
移动——在每个菜单项的左侧,拖动之可以改变菜单项在当前菜单中的位置
②在“显示”菜单下:
² 常规选项:可定义整个下拉式菜单系统的总体属性
– 过程:为条形菜单指定一个过程代码
– 位置:指明正在定义的下拉式菜单与当前系统菜单的关系,其中:
“替换”是用定义的菜单内容去替换当前系统菜单的原有内容
“追加”是将定义的菜单内容添加到当前系统菜单项原有内容的后面
“在…之前”:是将定义的菜单内容添加到当前系统菜单某个弹出式菜单之前
“在…之后”:是将定义的菜单内容添加到当前系统菜单某个弹出式菜单之后
– 菜单代码:有设置和清理两个复选框
– 顶层表单:选择该复选框,可将正在定义的下拉式菜单添加到一个顶层表单里;若不选该复选框,那么正在定义的下拉式菜单将作为一个定制的系统菜单
² 菜单选项:可定义当前弹出式菜单的公共过程代码
③菜单“退出”项的命令代码为:
命令:set sysmenu to default — 恢复系统标准菜单
过程:set sysmenu nosave — 停止使用用户菜单
set sysmenu to default
3)保存菜单文件.mnx
4)生成菜单程序文件.mpr
5)执行/运行菜单:程序—运行—选中相应菜单程序文件—确定
do 菜单程序文件名.mpr(扩展名不可省略)
2.为顶层表单添加菜单设计(即总是现在窗口最上层/最前面的表单),步骤如下:
1)根据下拉式菜单的设计方法,在菜单设计器窗口设计好所需要的菜单
2)菜单设计器—显示菜单—常规选项对话框—选中顶层表单复选框
3)重现建立表单—表单设计器—form1对象的showwindow属性值:2—使其成为顶层表单
4)在表单form1对象的init/load事件中添加调用程序的命令,格式为:
do 程序文件名.mpr(扩展名不可省) with this
5)顶层表单的退出项代码为:表单文件名.release——从菜单中释放当前表单
或者在表单的destroy事件代码中输入:release menu 菜单名[extended]——关闭表单时同时清除菜单[一起清除其下属的所有子菜单]
3.快捷菜单设计:无条形菜单,只有一个或由多个具有上下级关系的弹出式菜单组成,步骤如下:
1)文件—新建—文件类型:菜单—新建文件—快捷菜单—快捷菜单设计器—根据下拉式菜单的设计方法,在快捷菜单设计器窗口设计好所需要的快捷菜单—生成菜单程序文件
2)在快捷菜单的清理项代码中添加清除菜单的命令,格式为:
release popups 快捷菜单名[extended]
3)在表单设计器窗口,选定需要添加快捷菜单的对象
4)在选定对象的rightclick事件代码中添加调用快捷菜单程序的命令:
do 快捷菜单程序文件名.mpr