实验6十二三四、VFP中表单设计器及各类控件 下载本文

内容发布更新时间 : 2024/5/9 14:51:51星期一 下面是文章的全部内容请认真阅读。

实验6十二三四、VFP中表单设计器及各类控件

一、实验目的与要求:

(1)掌握类、对象的设计及调用方法等。

(2)掌握用表单向导设计单表、多表表单的操作。 (3)掌握用表单设计器设计表单的方法。

(4)掌握重要表单控件的使用和使用控件生成器生成控件。 二、实验内容:

实验6-1设计一个用户登录表单,在表单上创建一个组合框和一个文本框,从组合框选择用户名,在文本框中输入口令,三次不正确退出。 方法步骤:

图6.1

(1)新建表单Form1,从表单控件工具栏中拖入两个标签Label1、Label2,两个命令按钮Command1、Command2,以及一个组合框控件Combo1和一个文本框控件Text1。并按图6.1调整好其位置和大小。

(2)设置Label1的Caption属性值为“用户名”,Label2的Caption属性值为“密码”,Command1、Command2的Caption属性值分别为“登录”和“退出”。Form1的Caption属性值为“登录”。

(3)设置Combo1的RowSourceType属性为“1-值”,RowSource属性为“孙瑞,刘燕”,Text1的PasswordChar属性为“*”。

(4)在Form1的Init Event过程中加入如下代码: public num num=0

在Command1的Click Event过程中加入如下的程序代码:

if (alltrim(thisform.combo1.value)==\孙瑞\

or (alltrim(thisform.combo1.value)==\刘燕\

thisform.release do 主菜单.mpr else

num=num+1 if num<3

messagebox(\用户名或密码错误,请重试\注意\ thisform.combo1.value=\ thisform.text1.value=\ thisform.combo1.setfocus thisform.refresh else

messagebox(\登录陆失败,请退出\ thisform.command1.enabled=.f. thisform.command2.setfocus endifendif

在Command1的Click Event过程中加入如下的程序代码: thisform.release

实验6-2设计一个标题为“商品浏览”的多页表单,含有“基本信息”、“简介”、“图片”三个选项卡,如图6.2、6.3、6.4所示:要求可以通过右侧的按钮选择分别在三张选项卡中显示的商品的有关信息

图6.2

图6.3

图6.4

方法步骤:

(1)新建表单“商品浏览表单”,在其数据环境中添加商品.dbf (2)通过表单控件工具栏在表单上添加一个页框控件PageFrame1和6个命令按钮控件分别为:Command1、Command2、Command3、Command4、Command5,并调整好各控件的位置和大小。

(3)定义表单的Caption属性值为“商品浏览表单”,AutoCenter属性为T,Command1的

Caption属性值为“第一条”,Command2的Caption属性值为“前一条”,Command3的Caption属性值为“后一条”,Command4的Caption属性值为“最后一条”,Command5的Caption属性值为“退出”。设置页框PageFrame1的PageCount属性为3。

(4)设置第一个页面Page1:右击页框控件,在弹出的快捷菜单中选择“编辑”命令,单击选中第一个页面,然后直接从数据环境设计器中直接将“商品编号”、“商品名称”、“类别编码”“单位” 4个字段拖入该页面。拖入的各字段将自动实现与表中对应字段的数据绑定。调整各字段控件的大小和布局,再将该页面Page1的Caption属性设置为“基本信息”。

(5)设置第二个页面Page2:用类似的方法选中第二个页面,从数据环境设计器中直接将“简介”字段拖入该页面,调整该控件的大小与位置,再将该页面Page2的Caption属性设置为“简介”。

(6)设置第三个页面Page3:用类似的方法选中第三个页面,从数据环境设计器中直接将“图片”字段拖入该页面,调整该控件的大小与位置,再将该页面Page3的Caption属性设置为“图片”。

(7)为Command1的Click Event设计如下代码: go top

thisform.pageframe1.page1.refresh thisform.pageframe1.page2.refresh thisform.pageframe1.page3.refresh

(8)为Command2的Click Event设计如下代码: skip -1 if bof() go top

thisform.command2.enabled=.f. endif

thisform.command3.enabled=.t. thisform.pageframe1.page1.refresh thisform.pageframe1.page2.refresh thisform.pageframe1.page3.refresh