实验七

一、

实验题目:

表单创建

二、实验目的与要求:

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

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

(3)掌握用表单设计器设计表单的方法。

(4)掌握重要表单控件的使用和使用控件生成器生成控件。

三、实验内容:

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

方法步骤:

7.1

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

2)设置Label1Caption属性值为“用户名”,Label2Caption属性值为“密码”,Command1、Command2Caption属性值分别为“登录”和“退出”。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)=="孙瑞" and alltrim(thisform.text1.value)=="123456") or (alltrim(thisform.combo1.value)=="刘燕" and alltrim(thisform.text1.value)=="abcdef")

     thisform.release

     do 主菜单.mpr

else

     num=num+1

     if num<3

        messagebox("用户名或密码错误,请重试",0+48,"注意")

        thisform.combo1.value=""

        thisform.text1.value=""

        thisform.combo1.setfocus

        thisform.refresh

     else

        messagebox("登陆失败,请退出")

        thisform.command1.enabled=.f.

        thisform.command2.setfocus

     endif

endif      

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

thisform.release

 

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

 

7.2

7.3

7.4

 

方法步骤:

1)新建表单“商品浏览表单”,在其数据环境中添加商品.dbf

2)通过表单控件工具栏在表单上添加一个页框控件PageFrame16个命令按钮控件分别为:Command1Command2Command3Command4Command5,并调整好各控件的位置和大小。

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

Caption属性值为“第一条”,Command2Caption属性值为“前一条”,Command3Caption属性值为“后一条”,Command4Caption属性值为“最后一条”,Command5Caption属性值为“退出”。设置页框PageFrame1PageCount属性为3

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

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

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

7)为Command1Click Event设计如下代码:

go top

thisform.pageframe1.page1.refresh

thisform.pageframe1.page2.refresh

thisform.pageframe1.page3.refresh

8)为Command2Click 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

9)为Command3Click Event设计如下代码:

skip

if eof()

   go bottom

   thisform.command3.enabled=.f.

endif

thisform.command2.enabled=.t.

thisform.pageframe1.page1.refresh

thisform.pageframe1.page2.refresh 

thisform.pageframe1.page3.refresh

10)为Command4Click Event设计如下代码:

go bottom

thisform.pageframe1.page1.refresh

thisform.pageframe1.page2.refresh 

thisform.pageframe1.page3.refresh

11)为Command5Click Event设计如下代码:

thisform.release

12)保存表单,调试运行。

 

实验7-3 如图7.5所示,设计一个能在5个数据表中选择任意一个进行编辑的表单。此表单运行时要求:用户若在选中某一个单选按钮后,单击确定按钮,则被选定的数据表即会显示出来供用户修改。


7.5

方法步骤:

1)新建表单“增加记录”

2)通过表单控件工具栏,在表单上添加一个标签Label1,一个选项按钮组Optiongroup1,两个命令按扭Command1Command2,并调整好各控件的位置和大小。

3)定义表单的Caption属性值为“增加记录”,AutoCenter属性为TLabel1 Caption属性为:“请选择要增加记录的表:”,Command1Command2Caption属性分别为“确定”和“退出”,设置选项按钮组的ButtonCount属性为:5.

4)设置第一个按钮Option1:右击选项按钮组空间,在弹出的快捷菜单中选择“编辑”命令,单击选中第一个按钮,将其Caption属性值设置为:商品表。

5)用同样的方法设置第二个按钮Option2Caption属性值为:订购单表;设置第三个按钮Option3Caption属性值为:供应商表;设置第四个按钮Option4Caption属性值为:销售表;设置第五个按钮Option5Caption属性值为:客户表;

6)为Optiongroup1Click Event设计如下代码:

do case

case this.value=1

select 商品

case this.value=2

select 订购单

case this.value=3

select 供应商

case this.value=4

select 销售

case this.value=5

select 客户

endcase

7)为Command1Click Event设计如下代码:

append

(8) Command2Click Event设计如下代码:

thisform.release

(9)保存表单,调试运行。

 

实验7-4 设计一个可用微调控件来控制形状的曲率的表单,单击“退出”按钮可关闭本表单。

7.6

方法步骤:

1)创建一个表单

2)从表单工具栏中拖入一个形状Shape1一个命令按扭Command1一个微调控件Spinner1到表单中,并调整它们的位置和大小

3)设置Shape1Backcolor(背景色)属性为:25512864Fillcolor(填充色)为:25500Fillstyle属性为:7—对角交叉

4)设置Spinner1Spinnerhighvalue(指定单击上下箭头的按扭增减数值的上限)属性为99Spinnerlowvalue(指定单击上下箭头的按扭增减数值的下限)属性为0Increment(指定每单击一次上下箭头按扭的增减数值)属性为5Fontsize属性为16

5)设置Command1Caption属性为“退出” Fontsize属性为12

6)编写Command1Click事件代码如下:thisform.release

7)编写Spinner1Interactivechange事件代码如下:

thisform.shape1.curvature=this.value