微信公众号 
图码生活

每天发布有五花八门的文章,各种有趣的知识等,期待您的订阅与参与
电脑报 1992-2001 十年文章全集
电脑报 1992-2001 十年文章全集
包含从 1992 年 - 2001 年间,两万余篇期刊文章,查询最少输入两个字符
随便看看
读取中
读取中
标题使用FoxPro菜单生成器的三个经验
栏目主机类维护与维修
作者广西 莫治雄
发布1996-11-08
  一、菜单条(MENU BAR)的定位
  使用菜单生成器建立的菜单,是建立在FoxPro系统菜单上的,菜单名为-MSYSMENU。在默认情况下,菜单条置于屏幕的第0行,不需要用户定义。然而,在应用程序中,有时需要把菜单定义在某一行上。此时可以在菜单生成器的SETUP程序段中写上以下语句:
  DEFINE MENU -MSYSMENU BAR AT LINE<行号>
  即可把菜单定义在<行号>指定的行上。
  二、定义弹出菜单名(POPUP NAME)
  在UCDOS汉字系统支持下使用西文版FoxPro开发应用软件时,菜单选项常常使用汉字提示。笔者在开发应用软件的实践中发现,当使用到某些汉字时,菜单生成器生成的菜单程序有时会产生语法错误。例如,当菜单主功能选项(PAD)的提示为“系统维护”时,生成的菜单程序就会出错。出错的程序行如下:
  DEFINE PAD -r5r1a2451 OF -MSYSMENU PROMPT "系统维护";
  COLOR SCHEME 3
  ON PAD -r5r1a2451 OF -MSYSMENU ACTIVATE POPUP N
  DEFINE POPUP N MARGIN RELATIVE SHADOW COLOR SCHEME 4
  DEFINE BAR 1 OF N PROMPT "系统初始化"
  经分析生成的菜单程序发现,出错的主要原因是,菜单生成器自动生成的弹出菜单名为“N”,属于非法的菜单名。因此,这个菜单程序不能正确运行。
  解决的方法是,在进行菜单设计时,如果发现弹出菜单名为“N”,此时应从MENU菜单中选择“N OPTIONS...”选项,然后在MENU OPTION窗口的NAME输入框中把“N”改成合法的弹出菜单名即可。
  在编程实践中,笔者还遇到这样一种情况:在FoxPro环境中主控菜单程序能够正确运行,但用编译工具编译成.EXE文件后,在DOS环境中执行应用程序时,主控菜单程序却不能正常运行,菜单出现后异常返回到DOS提示符。
  解决的方法是,在用菜单生成器生成菜单系统时,在CLEANUP程序段中加上以下语句:
  READ VALID .F.
  需要退出应用系统时,在退出系统模块中使用QUIT命令即可。