在GUI上创建一个进度条控件.
GUICtrlCreateProgress ( 左侧, 顶部 [, 宽度 [, 高度 [, 样式 [, 扩展样式]]]] )
左侧 | 控件左侧的位置.若此值为 -1 则根据 GUICoordMode 的设置来计算左侧位置. |
顶部 | 控件上方的位置.若此值为 -1 则根据 GUICoordMode 的设置来计算上方位置. |
宽度 | [可选参数] 控件的宽度(默认值(default)为上一个控件的宽度). |
高度 | [可选参数] 控件的高度(默认值(default)为上一个控件的高度). |
样式 | [可选参数] 指定控件的样式.请查看附录中关于 GUI 控件样式 的说明. |
扩展样式 | [可选参数] 指定控件的扩展样式.请查看附录的 扩展样式表. |
成功: | 返回新控件的控件标识符(控件ID). |
失败: | 返回值为 0. |
#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