【PB案例学习笔记】-10 进度条使用

大家好,我是晓凡

写在前面

这是PB案例学习笔记系列文章的第10篇,该系列文章适合具有一定PB基础的读者。

通过一个个由浅入深的编程实战案例学习,提高编程技巧,以保证小伙伴们能应付公司的各种开发需求。

文章中设计到的源码,小凡都上传到了gitee代码仓库https://gitee.com/xiezhr/pb-project-example.git

gitee代码仓库

需要源代码的小伙伴们可以自行下载查看,后续文章涉及到的案例代码也都会提交到这个仓库【pb-project-example

如果对小伙伴有所帮助,希望能给一个小星星⭐支持一下小凡。

一、小目标

在项目中,我们有时候会遇到检索大数据,文件下载等耗时比较长的功能。

这时候进度条就排上用场了,使用了进度条可以使交互界面比较友好。

PB中一共有HProgressBarVProgressBar两种进度条,本篇文章,我们的目的就是创建一个进度条,模拟一个任务进度情况。

最终效果如下图所示

使用进度条

二、创建程序基本框架

① 新建examplework 工作区

② 新建exampleapp应用

③ 新建w_main窗口。Title设置为进度显示

以上步骤如果忘记的小伙伴,可以翻一下第一篇文章复习一下

④ 添加控件,进行页面布局

在窗口中添加一个HProgressBar控件和两个CommandButton 控件。控件名称依次为hpb_1cb_1cb_2

hpb_1setstep属性设置为2

控件名称属性
hpb_1MinPositonMaxPositon
cb_1Text开始
cb_2Text停止

添加控件

三、编写代码

① 编写实例变量

boolean ib_stop

② 在按钮cb_1clicked事件中添加如下脚本

long ll_step, ll_max
long ll_start, ll_used
ll_max = hPB_1.MaxPosition   //获取进度条的最大位置
for ll_step = 1 to ll_max
	Yield()                   //交出CPU控制权
	if ib_stop then           //根据实例变量,判断用户是否中断
		ib_stop = false
		Return
	end if
		hPB_1.stepIt()        //进度条前进一个步长
		ll_start = Cpu()      //获取当前时间,存入ll_start 变量
		ll_used = Cpu() - ll_start  //计算使用时间
		do while ll_used < 50       //延时
			ll_used = Cpu() - ll_start
		loop
Next

③ 在按钮cb_2clicked事件中添加如下代码

ib_stop = true

④ 在开发界面左边的System Tree窗口中双击 exampleapp 应用,在其Open事件中添加如下代码

open(w_main)

四、运行程序

运行程序,点击开始按钮后如下图所示

使用进度条

五、进度条控件

5.1 常用属性

MinPositionMaxPosition属性

默认值分别是0和100,用来指定进度条上滑块最左(最上)最右(最下)位置时所代表的数值

Position属性

这是一个非常中药的属性,决定进度条当前的位置

SetStep属性

指每次前进或者后退的幅度,默认值为10

SmoothScroll 属性

指定进度条是否平滑前进,默认为False,实际使用中建议将该值设置为True,这样界面显示效果会更好

5.2 常用函数

OffsetPos 函数

语法:

control.OffsetPos(Increment)

功能:

使进度条 control 中的光亮条前进 increment 长度 。当到达或超过进度条的最大值时不能自动重新开始。

例如,当前高亮条长度为 70,进度条 hpb_1 的最大值为 100,

使用函数 hPB_1.OffsetPos(40)只能使高亮条宽度为 100,而不是 10

StepIt 函数

语法:

control.StepIt()

功能:

使进度条 control 中的光亮条前进 SetStep 长度。当到达或超过进度条的最大值时可以重新开始。

例如,当前高亮条长度为 70,进度条 hPB_1 的最大值为 100,使用函数
hPB_1.StepIt(40)可以使高亮条宽度达到 100 后再到达 10 的位置。

本期内容到这儿就结束了,希望对您有所帮助 ★,°:.☆( ̄▽ ̄)/$:.°★

我们下期再见 ヾ(•ω•`)o (●’◡’●)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员晓凡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值