PB9 自带进度条控件
我retrieve时 大概40-50秒、 希望在retrieve开始前调用进度条 结束后隐藏或关闭 进度条
retrieve没结束前达到最大值时 清零 重新滚动
A窗口 输入查询条件 点查询clicked 打开B窗口w_ddys, B窗口打开时retrieve
timer(0.5)
OpenWithParm(w_ddys,ls)
timer事件: pos实例变量
pos = pos + 5
hpb_1.position = pos
if IsValid(w_ddys) then //这个好像不能判断retrieve 用SQLcode=0也没弄明白
//已经打开
timer(0)
close(w_sel)
else
//没有打开
pos = 0
end if
w_ddys open
dw_1.settransobject( sqlca)
dw_1.retrieve(d1,d2,p3,p4)
现在代码的问题是w_ddys的数据窗口 retrieve 时 timer 事件就不响应了、得用多线程么?
请大侠指教、
给一个播放动画进度的列子也可以、本人菜鸟。
------解决思路----------------------
假设 A窗口上面有个 dw_1 ,你是想dw_1刷新的时候,也就是retrieve()的过程中弹出进度条。是这样吧
假设 B窗口是进度条窗口,含有进度条控件 hpb_1
1.在A窗口的DW_1的 retrievestart事件下加入如下代码:
if isvalid(B窗口) = true then
close(B窗口)
end if
open(B窗口)
2.在A窗口的DW_1的 retrieveend事件下加入如下代码:
if isvalid(B窗口) = true then
close(B窗口)
end if
3.在B窗口的open事件下加入如下代码:
hpb_1.maxposition = 100
hpb_1.position = 0
hpb_1.setstep = 1
timer(1)
4.在B窗口的timer事件下加入如下代码:
if hpb_1.position >= 100 then
hpb_1.position = 1
else
hpb_1.position = hpb_1.position + 1
end if
------解决思路----------------------
先得到总行数,再用数据窗口的 retrievestar retrieverow retrieveend 事件 控制
------解决思路----------------------
周末再讨论,上班忙。。。