vfp菜单练习

2024-04-19

vfp菜单练习(精选3篇)

篇1:vfp菜单练习

VFP菜单练习

一、设计并修改菜单MENUA

项目TEST中已存在菜单MENUA,其中已定义了“文件”菜单栏及其中的“恢复系统菜单”项,按如下要求修改菜单,完成后的运行效果如图1所示。

1.2. 创建“学生档案管理”菜单栏,并为其设置访问键“ALT+S”。为“学生档案管理”创建子菜单“学生档案录入”和“学生档案查询”,并用分隔线隔开。

3. 为“学生档案录入”菜单项设置命令,该命令用来运行当前目录下的表单文件

FORMC.SCX。

4. 为“学生档案查询”菜单项设置过程,过程代码为:IF!USED(“XS”)

USE XS

ELSE

SELECT XS

ENDIF

BROWSE

5.在“文件”菜单栏下插入系统菜单项“打印预览”。图 1 答案:

1. 创建“学生档案管理”菜单栏,并为其设置访问键“ALT+S”;

2. 为“学生档案管理”创建子菜单“学生档案录入”和“学生档案查询”,并用分隔线隔开

3. 为“学生档案录入”菜单设置命令,该命令用来运行当前目录下的表单文件FORMC.SCX。

4. 为“学生档案查询”菜单设置过程

5. 在“文件”菜单下插入系统菜单项“打印预览”

二、设计并修改菜单MENUB

项目TEST中已存在菜单MENUB,按如下要求修改菜单,完成后的运行效果如图

1所

示。

1.为“数据录入”菜单栏下的“学生信

息录入”菜单项创建快捷键

“CTRL+L”。图1

2.在“数据录入”菜单栏下增加一个菜

单项“教师信息录入”,并用分隔线隔开。

3.为“教师信息录入”菜单项设置过程,当执行该菜单时向教师(JS)表中插入一条空记录,并打开JS表的编辑窗口。

4.为“数据查询”菜单栏设置提示信息:“按条件查询相关表的信息”,即当菜单运行时且选择了“数据查询”菜单栏时,在状态栏中显示该提示信息。

5. 将上述菜单追加在系统菜单“帮助”的后面。

答案:

1.为“数据录入”菜单栏下的“学生信息录入”菜单项创建快捷键CTRL+L

2.在“数据录入”菜单栏下增加一个菜单项“教师信息录入”,并用分隔线隔开

3.为“教师信息录入”菜单设置命令,APPEND

4.为“数据查询”菜单栏设置提示信息:“按条件查询相关表的信息”

5.将上述菜单追加在系统菜单的后面

三、设计并修改菜单MENUC

项目TEST中已存在菜单MENUC,按如下要求修改菜单,完成后的运行效果如图1所示。

1.为“数据录入”菜单栏下的“教师信息录入”菜单项创建快捷键“CTRL+L”。

2.为“数据查询”创建子菜单“学生档

案查询”和“学生成绩查询”,并用分

隔线隔开。

3.为“学生档案查询”菜单项设置SQL图1 命令,要求当执行该菜单项时在浏览窗

口显示学生(XS)表中所有学生的学号(xh)、姓名(xm)和出生日期(csrq)三个字段的内容。

4.为“学生成绩查询”菜单项设置提示信息:“按学号查询学生的成绩”,要求当选择“学生成绩查询”菜单项时,在状态栏中显示该提示信息。

5.将上述菜单插入到系统菜单的“编辑”菜单之后。

答案:

1.为“数据录入”菜单栏下的“教师信息录入”菜单项创建快捷键CTRL+L

2.为“数据查询”创建子菜单“学生档案查询”和“学生成绩查询”,并用分隔线隔开

3.为“学生档案查询”菜单设置SQL命令:select xh,xm,csrq from xs

4.为“学生成绩查询”菜单栏设置提示信息:“按学号查询学生的成绩”

5.将上述菜单插入到在系统菜单的“编辑”菜单项之后

四、设计并修改菜单MENUD

项目TEST中已存在菜单MENUD,按如下要求修改菜单,完成后的运行效果如图1所示。

1.启用“数据录入”菜单栏下的“学生成绩录入”菜单项。

2.为“数据打印”菜单栏创建子菜单“学生档案打印”和“学生成绩打印”,并用分隔线隔开。

3.为“学生成绩打印”菜单项设置命令,要求当执行该菜单项时调用当前目录下的报表文件BB,并将结果预览输出。

4.为“退出”菜单栏设置访问键“ALT+X”。5.将“文件”菜单栏删除。

答案:

1.启用“数据录入”菜单栏下的“学生成绩录入”菜单项;

2.为“数据打印”创建子菜单“学生档案打印”和“学生成绩打印”,并用分隔线隔开; 3.为“学生成绩打印”菜单设置命令:

4.为“退出”菜单栏设置访问键ALT+X:

5.将“文件”菜单栏删除

五、设计并修改菜单MENUE

项目TEST中已存在菜单MENUE,其中已定义

了“文件”、“数据维护”、“数据统计”、和“退出”四

个菜单栏,按如下要求修改菜单,完成后的运行效果

如图1所示。

1. 在“文件”菜单栏下插入系统菜单“打印预图

1览”。

2. 在“数据维护”菜单栏下增加一个菜单项“教师信息维护”,并用分隔线隔开。

3. 废止“数据统计”菜单栏下的“教师工资统计”菜单项。

4. 为“学生成绩统计”菜单项设置SQL命令,要求当执行该菜单项时,在浏览窗口

中显示成绩(CJ)表中所有学生的学号(XH)和总成绩。

5. 为“退出”菜单栏设置访问键“ALT+X”。

答案:

1.在“文件”菜单栏下插入系统菜单条“打印预览”

2.在“数据维护”菜单栏下增加一个菜单项“教师信息维护”,并用分隔线隔开

3.将“数据统计”菜单栏下的“教师工资统计”菜单项废止不可用;

4.为“学生成绩统计”菜单设置SQL命令:SELCET XH,SUM(CJ)FROM CJ GROUP BY XH

5.为“退出”菜单栏设置访问键ALT+X:退出(

六、设计并修改菜单MENUF

TEST项目中已存在菜单MENUF,按如下要求修改菜单,完成后的运行效果如图1所示。

1. 为“文件”菜单栏下的“退出”菜单项设置快捷键“CTRL+R”。

2. 在“文件”菜单栏的“退出”菜单项之前插入系统菜

单“导出”。

3. 为“数据维护”菜单栏下的“学生信息维护”菜单项

编制子菜单,该子菜单包括两个菜单项“学生基本信图

1息维护”和“学生成绩维护”,并用分隔线隔开。

4. 设置“数据查询”菜单栏下的“教师信息查询”菜单项废止不可用。

5. 为“学生信息查询”菜单项下的“学生基本信息查询”设置SQL命令,要求当执行该

菜单项时,在浏览窗口中显示学生(XS)表中所有女生的学号(xh),姓名(xm)

和出生日

期(csrq)。

答案:

1. 为“文件”菜单栏下的“退出”菜单项设置快捷键CTRL+R;

2. 在“文件”菜单栏的“退出”菜单项之前插入系统菜单条“导出”;

3. 为“数据维护”菜单栏下的“学生信息维护”编制子菜单,该子菜单包括两个菜单项“学

生基本信息维护”和“学生成绩维护”,并用分隔线隔开;

4. 将“数据查询”菜单栏下的“教师信息查询”菜单项废止不可用;

5. 为“学生信息查询”菜单项下的“学生基本信息查询”设置SQL命令:

SELECT XH,XM,CSRQ FROM XS WHERE XB=“女”

七、设计并修改菜单MENUG

项目TEST中已存在菜单MENUG,其中已定义了“数据录入”和“数据查询”、“数据清理”和“恢复系统菜单”四个菜单栏,按如下要求修改菜单,完成后的运行效果如图1所示。

1. 为“数据录入”菜单栏设置访问键“ALT+L”。

2. 为“数据录入”菜单栏下的“教师信息录入”编制子菜单,该

子菜单包括两个菜单项“教师基本信息录入”和“教师任课信

息录入”,并用分隔线隔开。图3. 已经为“数据清理”菜单栏下的“学生表清理”设置了过程。

完善该过程,使得当执行该菜单项时,彻底删除学生(XS)表中所有带删除标志的记录。

4. 废止“数据查询”菜单栏下的“教师信息查询”菜单项。

5. 运行该菜单后替换原来的系统菜单。

答案:

1.为“数据录入”菜单栏设置访问键ALT+L;

2.为“数据录入”菜单栏下的“教师信息录入”编制子菜单,该子菜单包括两个菜单项“教师基本信息录入”和“教师任课信息录入”,并用分隔线隔开;

3.为 “数据清理”菜单栏下的“学生表清理”设置命令,当执行该菜单时,删除学生(XS)表中所有带删除标志的记录:PACK

4.将“数据查询”菜单栏下的“教师信息查询”菜单项废止;

选项按钮中的跳过栏中:.t.5.运行该菜单后替换原来的系统菜单.显示菜单中的常规选项

八、设计并修改菜单MENUH

项目TEST中已存在菜单MENUH,按如下要求修改菜单,完成后的运行效果如图1所示。

1. 为“系统”菜单栏下的“退出”菜单项设置快捷键“CTRT+R”。

2. 为“学生档案管理”菜单栏设置子菜单,该子菜单包括二个菜单项“学

生基本信息录入”和“学生变动信息录入”,并用分隔线隔开。

3. 为 “学生成绩管理”菜单栏下的“不及格成绩查询”菜单项设置SQL

图1 命令,当执行该菜单项时显示成绩(CJ)表中所有成绩(cj)低于60分的学生的学号(xh),课程代号(kcdh)和成绩(cj)。

4. 为“学生变动信息录入”菜单项设置提示信息:学生进校以后的各种奖励和处分,当选

择该菜单项时,在状态栏中显示该提示信息。

5. 在“系统”菜单栏下插入系统菜单“打印预览”。

答案:

1. “系统”菜单栏下的“退出”菜单项设置快捷键CTRT+R;

2. 为“学生档案管理”菜单栏设置子菜单,该子菜单包括二个菜单项“学生基本信息录入 ”

和“学生变动信息录入”,并用分隔线隔开;

3. 为 “学生成绩管理”菜单栏下的“补考成绩查询”设置命令,当执行该菜单时显示成绩(CJ)表中所有成绩(CJ.CJ)低于60分的学生的学号(CJ.XH),课程代号(CJ.KCDH)成绩(CJ.CJ)

SELECT * FROM CJ WHERE CJ<60

4. 为“学生变动信息录入”设置提示信息:“学生进校以后的各种奖励各种处分”

5. 在“系统”菜单栏下插入系统菜单条“打印预览”

九、设计并修改菜单MENUI

项目TEST中已存在菜单MENUI,其中已定义了“记录浏览”、“记录定位”和“系统”三个菜单栏,按如下要求修改菜单,完成后的运行效果如图1所示。

1. 为“系统”菜单栏下的“退出”菜单项设置快捷键“CTRT+R”。

2. 在“记录浏览”菜单栏下增加一个菜单项“课程表”。

3. 为 “记录浏览”菜单栏下的“学生表”设置SQL命令,以浏览学生(XS)图表中的所有记录,显示字段包括所有字段。

4. 为“记录定位”菜单栏下的“下一条”菜单项设置废止条件:EOF()。

5. 在“系统”菜单栏下插入系统菜单“导出”。

答案:

1. 系统”菜单栏下的“退出”菜单项设置快捷键CTRT+R;

2. 为“记录浏览”菜单栏下增加一个菜单项“课程表”;

3. 为 “记录浏览”菜单栏下的“学生表”设置命令:SELECT * FROM XS

4. 为“记录定位”菜单栏下的“下一条”菜单项设置废止条件为:

选项按钮中的跳过栏中:EOF()

5. 在“系统”菜单栏下插入系统菜单条“导出”

十、设计并修改菜单MENUJ

项目TEST中已存在菜单MENUJ,其中已定义了“记录浏览”、“记录定位”和“恢复系统菜单”三个菜单栏,按如下要求修改菜单,完成后的运行效果如图

1所示。

1. 为“恢复系统菜单”设置访问键“ALT+X”。

2. 为“记录浏览”菜单栏创建子菜单,该子菜单包括 “学生表”

图和“成绩表”二个菜单项,并用分隔线隔开。

3. 为“记录定位”菜单栏下的“上一条”菜单项设置废止条件:BOF()。

4. 为“记录定位”菜单栏下的“最后一条”菜单项设置命令:当执行该菜单项时,记

录指针指向当前表的最后一条记录。

5. 为“记录定位”菜单栏下的“上一条”菜单项设置说明信息“定位到上一条记录”。答案:

1. 将菜单项名称 “恢复系统菜单” 改为:恢复系统菜单(

2. 为“记录浏览”菜单栏设置子菜单,该子菜单包括二个菜单项“学生表”和“成绩

表”,并用分隔线隔开;

3. 为“记录定位”菜单栏下的“上一条”菜单项设置废止条件为:

选项按钮中的跳过栏中:BOF();

4. 为“记录定位”菜单栏下的“最后一条”设置设置命令:GO BOTTOM

5. 为“记录定位”菜单栏下的“上一条”菜单项设置说明信息“定位到上一条记录”。选项按钮中的信息栏中:“定位到上一条记录”

篇2:vfp菜单练习

1. 设计原则

(1) 根据用户任务组织菜单系统

(2) 给每个菜单和菜单选项设置一个意义明了的标题

(3) 按照估计的菜单项使用频率、逻辑顺序或字母顺序组织菜单项

(4) 在菜单项的逻辑组之间放置分隔线

(5) 给每个菜单和菜单选项设置热键或键盘快捷键

(6) 将菜单上菜单项的数目限制在一个屏幕之内,如果超过了一屏,则应为其中一些菜单项创建子菜单,

(7) 在菜单项中混合使用大小写字母,只有强调时才全部使用大写字母。

2. 设计步骤

(1)菜单系统规划

(2)建立菜单和子菜单

(3)将任务分派到菜单系统中

(4)生成菜单程序

(5)测试并运行菜单系统

9.2 创建菜单

1. 菜单设计器简介

2. 用菜单设计器创建菜单

打开文件菜单 →新建→菜单→新文件→ 在菜单设计器中逐项设计所需菜单(或选择菜单中的快速菜单,生成通用的菜单)→ 预览 → 确定 → 关闭菜单设计器 → 给出文件名及保存位置→从菜单菜单中选择生成…→在对话框中单击生成(可更改菜单程序文件的文件名和保存位置再生成),

电脑资料

菜单设计器关闭后,系统产生两个文件:

菜单定义文件 扩展名为 .MNX

菜单备注文件 扩展名为 .MNT

篇3:vfp菜单练习

关键词:VFP;面向对象;动态下拉式按钮组菜单;数据库;信息管理系统

使用传统菜单必须要一层一层地点击,才能执行一个表单,有时容易点错,为用户带来不便,并且界面也不美观。而采用传统菜单结合动态菜单的设计,不仅使用户操作便捷,而且界面更加友好、更加专业化,并且动态菜单完全实现了用户自定义菜单功能,大大降低了应用程序的修改维护,满足各种用户需求。

一、动态菜单的功能介绍

1.动态菜单布局:第一级菜单作为动态菜单的第一层,第二级菜单作为动态菜单的第二级,本例只用了两级,可以根据需要拓展到多级,并且一般情况下,级数不要多于2层,否则影响使用效果。其用法是,当点击第一层菜单,如“查询统计”,系统将下拉展开“查询统计”的二级菜单。再次点击其他的第一层菜单时,如“日常管理”时,只展开“日常管理”的二级菜单。其他一级菜单关闭。

2.动态菜单将根据用户ID和用户自定义的菜单项,自动生成动态菜单。不同的用户可根据自己的实际需要,由系统管理员分配菜单项及规定各级菜单的文本和图标等。

二、设计思想

1.按照其功能,可以把每个一级菜单看作一个树型节点,并且其行为也与树型控件很相似,当展开一级菜单中的一个时,其他一级菜单自动关闭,也可全部展开等。当要实现其动态设定菜单项时,也需要将每个一级菜单作为一个节点类来处理

2.设计时,可以将动态菜单分为三个部分来进行。第一部分是设计子节点,子节点的功能是实现执行命令或过程等。第二部分是设计带有子节点的父节点,父节点的功能是子节点的容器,实现二级菜单的动态填充及展开、关闭二级菜单。第三部分是設计动态菜单的主体,主体是父节点的容器,实现一级菜单的动态数据填充及管理一级菜单。

三、关键步骤、技术与核心代码

1.设计子节点类。代码如下:

DEFINE CLASS tb_cbnode as Commandbutton

Alignment=0

Height=25

Pictureposition =1

Width=124

runcmd=“”&&增加的新属性

PROCEDURE Click

LOCAL ls_runcmd

ls_runcmd =This.runcmd

&ls_runcmd &&执行增加的新属性runcmd宏

ENDPROC

ENDDEFINE

2.设计父节点类。

(1)增加新属性。

DEFINE CLASS tb_node as Container &&定义父节点

ENDDEFINE &&这条语句放在整个类定义之后

c_height =0 &&展开时容器的高度

c_maxheight =200 &&容器的最大高度,即容器显示的子节点最多数量,当c_height

&&大于c_maxheight时,容器将显示上、下滚动箭头。

itemcnt =0 &&包含的子节点数

preheight =25 &&单位高度,即点击上、下滚动箭头时子节点移动的单位

caption =0

(2)增加两个对象。

增加一个命令按钮,用来显示父节点的标题及展开、关闭父节点等功能,然后增加一个容器,用以放置子节点。代码如下:

ADD OBJECT node_cb AS CommandButton

PROCEDURE node_cb.Click

This.Parent .Parent.LockScreen =.t. &&防止刷屏

This.Parent.Parent.collapseall&&调用父节点所在容器的collapseall方法

This.Parent.expand &&调用父节点展开方法

This.Parent .Parent.LockScreen =.f.

ENDPROC

ADD OBJECT node_c AS Container &&用来包含子节点的容器

(3)增加几个方法。

增加collapse、expand、downclick、upclick、setp及ynhidecb方法,其含义分别是节点收缩、节点展开、点击向下滚动箭头、点击向上滚动箭头、运行宏及隐藏显示命令按钮。下面仅介绍关键代码

PROCEDURE expand

LOCAL li_height

IF This.c_maxheight>=This.c_height

li_height=This.c_height

ELSE

li_height=This.c_maxheight

ENDIF

This.node_c .Height =li_height

This.Height=This.node_cb.Height  +This.node_c.Height

ENDPROC

3.设计动态菜单的主体。

设计用户自定义菜单录入表。根据需要,分别设计了两个表,一个menu_sub用于保存一级菜单项目,另一个menu_item用于保存二级菜单项目,两个表为一对多关系,menu_sub为主表,menu_item为从表。

总之,这个动态菜单是由三部分组成,分别为子节点、父节点和动态菜单本身,它们的关系均为前一个对象是后一个类的子对象。并且动态菜单的行为方式与树型控件的行为方式很相似,因此在设计此类时自然会产生分别设计三个类的想法。并且为了使其子节点能动态关联执行命令或过程,这里采用了宏,使得在类内的子对象可以执行外部函数。

参考文献:

张洪举.Visual FoxPro 6.0~9.0解决方案与范例大全.人民邮电出版社,2006.

上一篇:利比亚局势下一篇:毕业生登记表填写说明