原帖及讨论:http://bbs.bccn.net/thread-103479-1-1.html 今天将用测试过的进度条控件_therm的用法简单说说。欢迎各位批评指正! 1.添加进度条控件 你建立一个表单之后,遇到需要较长时间处理任务的时候, 总是希望有一个提示用户进度的工具。 查找发现VFP提供了这样的工具,_therm.vcx。它不同于.ocx控件, 因此,不能使用菜单中工具和添加ActiveX控件的方法添加进度条。 正确的添加方法是: (1)点击“表单控件”这个工具栏的“查看类”图标; (2)弹出一个快捷菜单,单击添加; (3)在安装了VFP的系统文件夹.../VFP98/FCC/ 这个文件夹里找到可视类库“_therm.vcx”; (4)经过上述过程,我们就可以在“表单控件” 工具栏里看到出现_thermometer和_progressbar两个控件, 将_progressbar这个控件添加到表单,至此进度条正确添加完成。 2.正确使用进度条控件 这个时候需要使用进度条。我们知道,进度条反映了任务处理的进度, 因此,我们必须知道任务的总数是多少,需要处理的进度如何表示,这些指 标如何在进度条控件中设置等问题。 先谈进度条的属性及方法。 (1)进度条的属性 ibasis:指定计算百分数时的基数。实际上就是指需要处理任务的总数。 ipercentage:指定更新显示时的百分数完成量。实际上就是当前进度。 iprogress:指定完成(iPercentage) 的百分数。通常这个值就是1=100%。 (2)进度条的方法 RESET 方法程序: 初始化进度条。 语法:RESET(m.ibasis) 返回值:无 参数:m.ibasis 指定从什么地方开始进行进度条显示。一般用0表示。 Complete 方法程序: 显示100%完整的进度。 语法:Complete(m.cTask) 返回值:无 参数:m.cTask 指定过程完成时的显示。 Update 方法程序 更新进度。 语法:Update(iProgress, cTask) 返回值:无 参数: iProgress 指定进程增量。 cTask 指定需要显示的信息。 (3)举例说明: 假设需要处理10万个数据,目的是从第1个数据到第10万个数据进行处理。 进度就是这样安排的: ibasis就是10万了,它表示需要处理的总数。 iprogress就是1了,它表示完成处理的百分数为100%。 Update过程输入1个参数,就是当前处理的数据号。 这样一个简单的进度条示例就是: THISFORM._progressbar1.RESET(0) nCnt=0 nTotal=1E5 THISFORM._progressbar1.iBasis=nTotal THISFORM._progressbar1.iProgress=1 FOR nCnt=1 TO nTotal THISFORM._progressbar1.UPDATE(nCnt) ENDFOR  
|