Vfp顶层菜单不可用。
一个程序通常由相当多的功能模块组成,可以通过在屏幕上排列一系列按钮来调用,但一般组成程序的功能模块都是通过菜单集成为一个整体。
FOXPRO提供了与WINDOWS图形用户界面一致的条形菜单和弹出菜单。为了方便用户,FOXPRO系统提供了一个自动菜单生成工具(GENMENU。FXP)。该菜单的特点是:菜单容忍度是多层次的;运行时菜单可以动态改变;功能模块可以直接包含在菜单中,使得通过菜单程序形成应用系统成为可能;可以直接使用一些常用的函数,比如新建文件(_mfi_new)、打开文件(_mfi_open)、关闭文件(_mfi_close)、剪切(_med_cut)、复制(_med_copy)、粘贴(_med_paste)等等。这种形式的菜单,第一次使用时,往往只运行一次就退出菜单。处理这个问题有两种方法。
(1)编写另一个程序,用这个程序按如下方式调用菜单程序:
推送菜单_msysmenu
Do <菜单文件名(mpx)〉扩展名>
读取有效。f。
菜单程序中的退出模块应包含以下语句:
关闭数据库
清理所有
弹出菜单_msysmenu
取消
或者退出模块只包含quit语句,直接退出FoxPlow。这样在调试程序时,经常会启动和退出FoxPlow系统,浪费时间。因此,建议使用前者来停止菜单运行。
这里,推送菜单......使用弹出菜单命令,使用这对命令可以切换多个菜单。
2直接在菜单中处理。
在这种情况下,标准菜单设置代码的最后语句应该是:
做while .t。
清理代码如下:
读取有效。f。
恩多
退出菜单程序的代码如下:
关闭数据库
清理所有
将sysmenu设置为默认值
取消
这种方法比第一种方法的程序调用层数少,所以推荐使用。