当前位置: 首页 > 编程语言 > vfp > 正文

看实例学VFP:进度条控件

时间:2009-04-05 www.bianceng.cn 老马

我们在使用Windows系统的时候,如果复制一个较大的文件或者是从网上下载东西,在复制或下载的过程中都会出现一个对话框,并且在该对话框中会有一个进度条来显示复制或下载的进度。在vfp可以使用进度条控件(ProcessBar)来实现类似的功能,有的场合下可以用到它,比如软件包含了数据备份的功能,可以用它来显示备份的进度。但是这个控件的使用不是必须的,使用它无非是可以让你编的东西看起来更专业些。

进度条控件有几个比较重要的属性,如下:

min:进度条的最小值,默认为0。

max:进度条的最大值,默认为100。

value:进度条的当前值,只写。这个属性很重要,进度条的动态变化就是通过给这个属性动态赋值来实现的。

visible:指定进度条是可见还是隐藏。

一般情况下对进度条控件的编程都需要使用循环,并且需要把循环的终值赋给进度条的max属性,把循环变量的当前值在循环体中赋给进度条的value属性,这样进度条才能动起来。

本文来做一个关于进度条的小例子,运行界面如下图:

在上图中单击了“创建表”按钮后,会首先使用sql语句创建出一个表结构,然后使用循环语句向这个表中添加10000条记录,从开始到完成的整个过程会用进度条体现出来,大概需要20秒左右的时间。

制作过程如下:

一、新建表单,将其caption属性值设置为“编程入门网-ProcessBar控件的使用”,AutoCenter属性值设置为.t.,保存为“表单1.scx”。

二、向表单上添加一个命令按钮控件command1,将其caption属性值设置为“创建表”。

三、向表单上添加进度条控件:

进度条控件(ProcessBar)也是一个ActiveX控件,使用时需要注册一下,方法请参考:看实例学VFP:commondialog控件(进度条控件的ActiveX控件名为“Microsoft ProcessBar Control”)。完成注册后向表单上添加一个进度条控件,为了书写代码的方便,我们把它的name属性值由默认的“Olecontrol1”修改为“processbar1”。

四、参照上图适当调整各控件的位置及表单的大小。

五、添加事件代码:

1、表单的init事件代码:

set safety off
thisform.processbar1.visible=.f.

2、表单的unload事件代码:

set safety on
close all
delete file 表1.DBF

3、命令按钮“创建表”(command1)的click事件代码:

thisform.processbar1.visible=.t.&&使Processbar可见
thisform.processbar1.max=10000     &&确定进度条(ProcessBar)最大值为表的记录数
create table 表1 (字段1 N(10),字段2 N(10),字段3 N(10))
for i=1 to 10000
   appen blank
   replace 表1.字段1 with i,表1.字段2 with i*2,表1.字段3 with i*3
   thisform.processbar1.value=i
endfor
thisform.processbar1.value=0
thisform.processbar1.visible=.f.
WAIT WIND "文件创建完毕!" AT 20,60 &&提示信息

六、运行“表单1.scx”。

本例代码在Win2003+VFP6.0环境下调试通过。

查看全套“菜鸟也学VFP”教程