菜单设计与应用
一、 系统菜单:
常见的菜单有两种:下拉式菜单与快捷菜单。
典型的菜单系统一般是一个下拉式菜单,由一个条形菜单和一组弹出式菜单组成。其中条形菜单作为主菜单,弹出式菜单作为子菜单。 1.菜单结构:
VFP支持两种类型的菜单:条形菜单和弹出式菜单。每一个菜单项都可以选择地设置一个热键和一个快捷键。无论是那种类型的菜单,当选中某个选项时都会有一定的动作:执行一条命令、执行一个过程或激活另一个菜单。
2.系统菜单:
Visual FoxPro系统菜单是一个典型的菜单系统,其主菜单是一个条形菜单。条形菜单中常见选项的名称及内部名字如表7.1,7.2,7.3。(P225)
SET SYSMENU:可以允许或禁止在程序执行时访问系统菜单,也可以重新配置系统菜单,格式如下:
格式:SET SYSMENU ON | OFF
&& 允许/禁止访问系统菜单
SET SYSMENU AUTOMATIC
&& 可使系统菜单显示出来,可以访问系统菜单
SET SYSMENU TO [DEFAULT] && 屏蔽或恢复系统菜单默认值
SET SYSMENU SAVE && 将当前的系统菜单配置指定为缺省配置 SET SYSMENU NOSAVE && 恢复VFP系统菜单的标准配置
图5.1 VFP菜单结构
弹出式菜单 条形菜单
二、 下拉式菜单设计:
1.菜单设计的基本步骤及设计窗口:
打开菜单设计器 定义菜单项 菜单文件(mnx,mnt) 生成菜单程序 菜单程序文件(mpr) 运行并调试菜单程序 图5.2 菜单设计的一般步骤 图5.3 菜单设计器窗口
菜单设计的基本过程
① 调用菜单设计器(命令为:modify menu <文件名>)。
② 在“菜单设计器”窗口中定义菜单,指定菜单的各项内容,并保存。
③ 通过菜单命令“菜单”*“生成”命令,产生可执行的菜单程序文件(.mpr)。 ④ 使用命令:DO <文件名>运行菜单程序,文件扩展名mpr不能省略。
如:DO caidan.mpr
打造卓越人才,成就人生梦想
菜单设计与应用
2.定义菜单
1)“菜单设计器”窗口
① “菜单名称”列:指定菜单项的名称
“\\<”:为指定的菜单名称设置访问键。 “\\-”:菜单项分组
② “结果”列:指定当用户选择该菜单项时的动作
? 命令:出现一文本框,可输入具体的命令
? 过程:出现按钮,点击可输入或编辑过程代码 ? 子菜单:创建或编辑子菜单
? 填充名称或菜单项#:可在文本框中输入菜单项的内部名字或序号 ③ “选项”列:定义菜单项的属性;已定义过属性,则在按钮上出现”√” 例7.1(P232)、例7.2(P234)
3.为顶层表单添加下拉式菜单 方法和过程如下:
① 在“菜单设计器”窗口中设计好下拉式菜单。
② 打开“常规选项”对话框,选中对话框右下角的“顶层表单”复选框。 ③ 将表单的ShowWindow属性设置为2,使之成为顶层表单。 ④ 在表单的Init事件中添加调用菜单的程序代码:
DO <文件名> WITH This[,“<菜单名>”]
此处的<文件名>是指被调用的菜单程序文件(扩展名MPR不能省),<菜单名>是为被添加的下拉式菜单的条形菜单指定的一个内部名字。
⑤ 在表单的Destroy事件中添加清除菜单的程序代码:
RELEASE MENU<菜单名>[EXTENDED]
其中EXTENDED表示在清除条形菜单时一起清除其下属的所有子菜单。 例7.3(P236)
4.关于菜单的几点说明:
? 添加分组线:\\- 注:如果将“菜单名”内容确定为“\\-”,则该菜单项将成为分组线 ? 添加热键:\\< 如:文件(\\ 打造卓越人才,成就人生梦想 菜单设计与应用 ? 菜单程序文件扩展名:.mpr ? 菜单运行使用:DO <文件名> 注:运行菜单文件时,其文件扩展名不能省略。如:DO abcd.mpr 5.“常规选项”的设置 “常规选项”主要是对条形菜单属性进行设置,设置窗口如图5.4所示: (1).过程:为条形菜单指定一个过程代码,用于如果条形菜单中的某个菜单项没有规定具体动作(内容),而用户选择该菜单项时作默认过程代码执行。该代码可以直接输入在“过程”框中,也可单击“编辑”按钮,然后在随之出现的编辑框中输入。 (2).位置:指明正在定义的下拉式菜单与当前系统菜单的关系。其中: ? 替换:用定义的菜单内容替换当前系统菜单内容; ? 追加:将定义的菜单内容添加到系统菜单内容的后面; ? 在…之前:将定义的菜单内容插入当前系统菜单某个弹出式菜单之前; ? 在…之后:将定义的菜单内容插入当前系统菜单某个弹出式菜单之后。 图 5.4 常规选项对话框 (3).菜单代码:用于设置菜单代码前、后执行的程序。 ? 设置:设置放置在菜单程序文件中定义的代码之前,一般用于为菜单设置初始环境; ? 清理:设置放置在菜单程序文件中定义的代码之后,一般用于在菜单结束后的环境清理。 (4).顶层表单:决定定义的菜单是否可以被添加到一个顶层表单中。 6.“菜单选项”的设置 “菜单选项”主要是对弹出式菜单属性进行设置,设置窗口如图5.5所示。其主要作用是设置当前弹出式菜单的公共过程代码。如果当前弹 出式菜单的某个菜单项没有规定具体动作,那么当选择此项时,将执行图 5.5 菜单选项对话框 该代码。 三、快捷菜单设计(建立方法与下拉菜单相似) 快捷菜单:鼠标右击某对象时弹出的菜单。它一般从属于某个界面对象。 快捷菜单与下拉式菜单的区别:快捷菜单没有条形菜单,只有弹出式菜单。 快捷菜单设计的基本过程(建立方法与下拉菜单相似) ① 调用快捷菜单设计器 ② 在“快捷菜单设计器”窗口中定义菜单,指定菜单的各项内容,并保存。 ③ 在快捷菜单的“清理”代码中添加清除菜单的命令,使得在选择、执行菜单命令后能及时清除菜单, 释放其占用的内存空间。命令格式: Release popups <快捷菜单名> [extended] ④ 通过菜单命令“菜单”*“生成”命令,产生可执行的菜单程序文件(.mpr)。 ⑤ 在表单设计环境下,选定需要添加快捷菜单的对象。 ⑥ 在选定对象的rightclick事件代码中添加调用快捷菜单程序的命令: DO <快捷菜单文件名> 其中文件扩展名mpr不能省略。 执行:在选定对象的RightClick事件代码中,添加调用快捷菜单程序的格式为: DO <快捷菜单程序文件名> WITH THIS 清除:释放其所占用的内存空间,格式为: RELEASE POPUPS <快捷菜单名> [EXTENDED] 例7.4(P237) 打造卓越人才,成就人生梦想
相关推荐: