打印本文 打印本文 关闭窗口 关闭窗口
用PB的ocx控件ctGauge实现进度条显示
作者:武汉SEO闵涛  文章来源:敏韬网  点击数947  更新时间:2009/4/24 21:43:46  文章录入:mintao  责任编辑:mintao

  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软件环境下运行通过。

打印本文 打印本文 关闭窗口 关闭窗口