创建VFP单级PAD通用菜单

需积分: 4 1 下载量 104 浏览量 更新于2024-09-28 收藏 4KB TXT 举报
"这篇文章主要介绍了如何在Visual FoxPro (VFP)中创建一个仅有一级的(PAD)通用菜单。这种菜单适用于不需多级结构的情况,通过一个名为MYMENU.PRG的小程序来调用,菜单项包括'新增'、'编辑'、'删除'、'筛选'、'导出'、'打印'和'退出',对应的程序模块也与这些名称相同。用户可以根据实际需求定制菜单内容。" 在VFP中创建一级菜单通常是通过设置系统菜单或者自定义菜单来实现的。在这个案例中,我们关注的是如何创建一个简单的通用菜单,它只需要一个PAD层次,无需多级嵌套。这个过程涉及到以下几个关键知识点: 1. **菜单设计**:菜单的设计通常包含了菜单项的文本和它们对应的操作。在这个例子中,菜单包含七个选项,分别是'新增'、'编辑'、'删除'、'筛选'、'导出'、'打印'和'退出'。每个菜单项都对应了一个具体的程序模块,用户可以通过选择这些菜单项来执行相应的功能。 2. **程序调用**:`MYMENU.PRG` 是调用菜单程序的名称。这个程序会负责创建并显示菜单,以及处理用户的选择。通过调用 `Unitarymenu()` 函数,我们可以实现一级菜单的创建和管理。 3. **函数定义**:`Unitarymenu()` 是创建和管理菜单的核心函数。该函数接收一个参数 `SCANSHUBIAO`,这个参数包含了菜单项的列表。函数内部首先检查参数是否为空,然后进行一系列处理,包括创建窗口、定位菜单、定义菜单项等。 4. **处理菜单项**:在函数中,`STORE 0 TO ZONGHE` 初始化一个变量来记录菜单项的数量。然后使用 `DO WHILE...DO UNTIL` 循环,通过 `AT()` 函数查找逗号来分割菜单项,并将它们存储到数组 `MYPAD` 中。这一步骤确保了所有菜单项都被正确地提取出来。 5. **设置系统菜单**:`SETSYSMENUSAVE` 保存当前的系统菜单状态,`SETSYSMENUTO` 关闭系统菜单,这使得我们可以自定义自己的菜单。在完成后,需要使用 `RELEASEMYPAD` 来释放之前创建的菜单资源。 6. **菜单项的创建和关联**:在循环内,通过 `DIMENSION MYPAD(ZONGHE+1)` 定义数组大小来容纳所有菜单项。接着,使用 `FPAD` 存储的菜单字符串和循环变量 `SPAD` 创建并设置每个菜单项。菜单项与相应的程序模块关联,当用户点击菜单项时,对应的程序会被执行。 7. **用户交互**:最后,函数通过 `READ` 命令等待用户操作,一旦用户完成选择并按下回车键,程序会释放窗口并返回。如果用户未输入任何参数,程序会创建一个提示窗口并显示错误信息。 通过这个例子,我们可以了解到在VFP中创建一级菜单的基本步骤,这对于开发简单易用的用户界面是非常实用的技巧。