《盟威软件快速开发平台》在线帮助中心

通用进度条

Access本身就自带的有进度条功能,但是存在一些不足,如:
1. 界面很小,并且只能显示在Access状态栏中,不够醒目,并且由于状态栏还可以隐藏掉,如果这时未能强制显示出来,则进度条也看不到了。
2. 只能支持单个进度,如需要显示为总进度,明细进度,则无法实现(在一些耗时且复杂的业务处理中。该功能很有用)。
此通用进度条模块即为以上等自带进度条无法满足的情况下的替代方案。



说明

该类模块只能在 Access 中使用,需要用 CreateInstance 函数来实例化。不能用 New 关键字或 CreateObject 函数进行实例化。

另外在更新 Value 和 SubValue 时会自动使用 DoEvents 方法来防止程序假死,所以不需要再额外使用 DoEvents。

开发接口
属性名 必需/可选 数据类型 可读写 说明
BackColor 可选 Long 可读写 进度条窗口的背景颜色
ForeColor 可选 Long 可读写 进度条窗口中的字体颜色。
BorderColor 可选 Long 可读写 进度条窗口中的边框颜色。
Visible 可选 Boolean 可读写 进度条窗口是否可见。
PercentFormat 可选 String 可读写 百分比数字显示的格式。
StatusText 可选 String 可读写 主进度条的说明文字。
Max 必需 Long 可读写 主进度条的最大值,即达到该值主进度为100%。
Value 必需 Long 可读写 主进度条的当前值,Value/Max即为当时主进度条的进度。更新Value时会自 动将子进度条重置为初始状态(即进度为0%)。
SubStatusText 可选 String 可读写 子进度条的说明文字。
SubMax 可选 Long 可读写 子进度条的最大值,即达到该值子进度为100%。
SubValue 可选 Long 可读写 子进度条的当前值。SubValue/SubMax即为当前子进度条的进度。当设置了SubMax属性时为必需。
AllowEsc 可选 Boolean 可读写 是否允许使用 Esc 键中断进度条。(2.5.0 版加入)

方法名 说明
CloseProgressBar 关闭进度条。用于当过程尚未执行完,但是不再需要进度条的时候关闭。
示例

单个进度条示例:

Private Sub Command0_Click()
    Dim clsPB As PopupProgressBar
    Dim lngI  As Long

    Set clsPB = CreateInstance("PopupProgressBar")
    clsPB.StatusText = "正在更新..."
    clsPB.Max = 1000
    For lngI = 1 To clsPB.Max
        clsPB.Value = lngI
    Next
    MsgBox "更新完成!", vbInformation
End Sub

主子进度条示例:

Private Sub Command1_Click()
    Dim clsPB As PopupProgressBar
    Dim lngI  As Long
    Dim lngJ  As Long

    Set clsPB = CreateInstance("PopupProgressBar")
    clsPB.PercentFormat = "0%"
    clsPB.StatusText = "正在更新..."
    clsPB.Max = 17
    For lngI = 1 To clsPB.Max
        clsPB.SubStatusText = "正在更新 " & lngI & "..."
        clsPB.SubMax = 300
        For lngJ = 1 To clsPB.SubMax
            clsPB.SubValue = lngJ
        Next
        clsPB.Value = lngI
    Next
    MsgBox "更新完成!", vbInformation
End Sub

修订记录

  1. 2019-07-08 2.5.0 新增 AllowEsc 属性。