编辑 VFP 菜单常见问题的解决方法--编程方法实现 2006-12-30 01:19 用微软的数据库开发工具 VFP 开发一些常见的应用系统, 其中, 编制功能完善的选单栏是 VFP 应用开发中最常见的任务之一。 功能完善的选单栏是系统界面的重要组成部分,是应用程序设计是否友好的一个重要体现。 编辑选单中常见的问题有:设置访问键、分隔符、快捷键、标记、失效状态等,如图 1 所示。 下面笔者将介绍它们在 VFP 中的实现方法。 1.给选单定义访问键 1.给选单定义访问键 访问键可使系统使用者用键盘操作选单中的命令。 要想给选单添加访问键,在选单编辑过程中给选单名称后加“(\<F)”就可以了,注意“F” 是根据需要填写的,如图 2 所示。 2.给选单命令定义快捷键及添加提示信息 2.给选单命令定义快捷键及添加提示信息 快捷键可完善选单的功能,提高系统操作时的速度。提示信息使得系统使用人员更快地了解 选单功能。 要想给选单项定义,可在选单编辑过程中,单击“选项”下的按钮,将弹出图 3 所示的对话 框,在提示处按下要定义的键就可以了。要添加提示信息则在其中的“信息(G):”右侧的框 中填入要提示的信息并用字符串引号引起来即可。 3.给选项打或去掉“√”标记 3.给选项打或去掉“√”标记 给选项打或去掉“√” mrkbar()是判断选单是否被打标记的一个函数,若已选返回值为真,否则为假。配合使用命 令 setmarkof 可把选单项打上或去掉标记。 例如下面一段命令加在选单过程里面就可给打上或去掉“√”标记: if!mrkbar("文件 f",3) setmarkofbar2of 文件 fto.t. 命令 else setmarkofbar2of 文件 fto.f. 命令 endif 4.给选单加分隔符 4.给选单加分隔符 分隔线可增强选单的可读性,要想实现图 1 所示的加分隔线的效果,只要在选单编辑过程中 给“选单名称”项中加入“\-”符号即可,如图 2 所示。 5.让某一个选单标题或选项暂时失效并恢复 5.让某一个选单标题或选项暂时失效并恢复 让某一个选单标题或选项暂时失效 在程序运行过程中有时需要让某一个选单暂时失效,失效后需要时还能恢复,实现方法有两 种: (1)使用命令 setskipof 例如,使图 1 中“文件”选单标题暂时失效的命令为: setskipofpopup 文件 f.t.
恢复命令为: setskipofpopup 文件 f.f. 使图 1 中“文件”下的第二项暂时失效的命令为: setskipofbar2of 文件 f.t. 恢复命令为: setskipofbar2of 文件 f.f. (2)使用命令 releasepopup
图 1 普通选单各部分名称 例如,要使图 1 中“文件”选单暂时失效,可使用命令: releasepopup 文件 f 想恢复失效的选单,再调用一次就可以了,例如选单文件名为 cd1.mpx,使用命令: doc
d1.mpx 6.给选单添加系统选单选项 6.给选单添加系统选单选项
图 2 选单设计器 在 VFP6.0 中有许多现成的系统选单选项供开发者选用,使用它们可丰富选单的功能,从而完 善系统的功能。
图 3 选单选项的快捷键设置 添加方法是在选单编辑时单击“插入栏…”按钮,就会弹出图 4 所示的对话框,在其中选择 需要的
系统选单选项即可。
VFP 通用无限级菜单及彩色菜单原理! 【转】 一、通用菜单代码模型,正在改进,这里是基本原理 表结构: 字段 字段名 类型 宽度 小数位 1 菜单编号 字符型 10 2 菜单标题 字符型 3 菜单标题文本 字符型 18 4 父菜单标题 字符型 10 5 下级 逻辑型 1
索引 是 是 否 是
排序
Nulls
下一个
步长
菜单代码: DEFINE MENU _mymenu USE menu SCAN IF LEN(ALLTRIM(菜单编号))#0 .or. LEN(ALLTRIM(菜单编号))#.null. IF LEN(ALLTRIM(父菜单标题))#0.or.len(alltrim(父菜单标题))#.null. d='DEFINE BAR '+ALLTRIM( 菜 单 编 号 )+' OF '+ALLTRIM( 父 菜 单 标 题 )+' PROMPT '+'"'+ALLTRIM(菜单标题文本)+'"' &;d IF 下级=.t. e='on bar '+ALLTRIM(菜单编号)+' of '+ALLTRIM(父菜单标题)+' ACTIVATE POPUP '+ALLTRIM(菜