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设置为默认值

取消

这种方法比第一种方法的程序调用层数少,所以推荐使用。