|
PowerBuilder是目前常用的数据库开发工具,用它实现进度条的动态显示非常简单.可以在窗体中插入ACTIVEX控件ctMeter,实现象BORLANDC++安装程序那样具有专业水准的进度条显示.显示效果如图1所示.

图1
一.创建含有如下控件的窗体:
控件 name text
标签 st_1 进度指示器:
单行编辑框 sle_1 0
组框 gb_1 频率
按钮 rb_1 每隔0.2秒
按钮 rb_2 每隔0.5秒
按钮 rb_3 每隔0.8秒
按钮 rb_4 每隔1秒
命令按钮 cb_1 开始
命令按钮 cb_2 停止
命令按钮 cb_3 退出

如图2.
二.设置ACTIVEX控件属性:
首先选择ole控件,在弹出的对话框中选择INSERTCONTROL,在controltype中选择ctGaugecontrol. 在图片栏下,选择SPEEDO.BMP文件。
图2
三.程序清单:
(1)在主菜单的”Declare|Global variables”中输入变量定义:
Double dd_Timer = 0.1
Boolean bb_Stop, bb_Complete
(2)窗体”开始”按钮的CLICK事件:
If bb_Complete Then
ole_1.Object.Value = 0
End If
rb_1.enabled=false
rb_2.enabled=false
rb_3.enabled=false
rb_4.enabled=false
bb_Complete=false
timer(dd_Timer)
(3)窗体”停止”按钮的CLICKED事件:
bb_Stop=true
(4)窗体”退出”按钮的CLICKED事件:
Close(Parent)
(5)窗体timer事件:
Yield()
If (ole_1.Object.Value + 2) $#@62;= 100 Then
ole_1.Object.Value = 100
Timer (0)
bb_Complete = True
gb_1.Enabled = True
rb_1.Enabled = True
rb_2.Enabled = True
rb_3.Enabled = True
rb_4.Enabled = True
Else
ole_1.Object.Value = ole_1.Object.Value + 2
End If
sle_1.text=string(ole_1.object.value)+%
(6)按钮”每隔0.2秒”的CLICKED事件:
dd_Timer =0.2
(7)按钮”每隔0.5秒”的CLICKED事件:
dd_Timer =0.5
(8)按钮”每隔0.8秒”的CLICKED事件:
dd_Timer =0.8
(9)按钮”每隔1秒”的CLICKED事件:
dd_Timer =1
以上程序在WINDOWS 98,PowerBuilder5.0软件环境下运行通过。
|