函数参考


GUICtrlCreateProgress

在GUI上创建一个进度条控件.

GUICtrlCreateProgress ( 左侧, 顶部 [, 宽度 [, 高度 [, 样式 [, 扩展样式]]]] )

参数

左侧 控件左侧的位置.若此值为 -1 则根据 GUICoordMode 的设置来计算左侧位置.
顶部 控件上方的位置.若此值为 -1 则根据 GUICoordMode 的设置来计算上方位置.
宽度 [可选参数] 控件的宽度(默认值(default)为上一个控件的宽度).
高度 [可选参数] 控件的高度(默认值(default)为上一个控件的高度).
样式 [可选参数] 指定控件的样式.请查看附录中关于 GUI 控件样式 的说明.
扩展样式 [可选参数] 指定控件的扩展样式.请查看附录的 扩展样式表.

返回值

成功: 返回新控件的控件标识符(控件ID).
失败: 返回值为 0.

注意/说明

若要获得控件的各种值,请参考 GUICtrlRead.
要设置或者修改控件信息,请参考 GUICtrlUpdate....

若要更新滑块的位置请使用 GUICtrlSetData.

要在默认样式的基础上添加一个新的样式可使用 BitOr($GUI_SS_DEFAULT_PROGRESS, 新样式,...).

要使用上方指定的值,您必须包含 #include <ProgressConstants.au3> 在你的脚本.

默认大小为: $GUI_DOCKAUTO

相关

GUICoordMode (Option), GUICtrlSetData, GUICtrlUpdate..., GUIGetMsg

示例/演示


#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>

Example()

Func Example()
    Local $progressbar1, $progressbar2, $button, $wait, $s, $msg, $m

    GUICreate("我的 GUI 进度条", 220, 100, 100, 200)
    $progressbar1 = GUICtrlCreateProgress(10, 10, 200, 20)
    GUICtrlSetColor(-1, 32250); 在 Windows XP 样式下不工作
    $progressbar2 = GUICtrlCreateProgress(10, 40, 200, 20, $PBS_SMOOTH)
    $button = GUICtrlCreateButton("开始", 75, 70, 70, 20)
    GUISetState()

    $wait = 20; wait 20ms for next progressstep
    $s = 0; progressbar-saveposition
    Do
        $msg = GUIGetMsg()
        If $msg = $button Then
            GUICtrlSetData($button, "停止")
            For $i = $s To 100
                If GUICtrlRead($progressbar1) = 50 Then MsgBox(4096, "信息", "一半已经完成...", 1)
                $m = GUIGetMsg()

                If $m = -3 Then ExitLoop

                If $m = $button Then
                    GUICtrlSetData($button, "继续")
                    $s = $i;保存当前坐标到 $s
                    ExitLoop
                Else
                    $s = 0
                    GUICtrlSetData($progressbar1, $i)
                    GUICtrlSetData($progressbar2, (100 - $i))
                    Sleep($wait)
                EndIf
            Next
            If $i > 100 Then
                ;       $s=0
                GUICtrlSetData($button, "开始")
            EndIf
        EndIf
    Until $msg = $GUI_EVENT_CLOSE
EndFunc   ;==>Example