GUICtrlCreateProgress
创建进度条(Progress)控件.
GUICtrlCreateProgress ( left, top [, width [, height [, style = -1 [, exStyle = -1]]]] )
参数
left
|
控件左侧的位置. 若此值为 -1, 则根据 GUICoordMode() 的设置计算左侧位置.
|
top
|
控件上方的位置. 若此值为 -1, 则根据 GUICoordMode() 的设置计算顶部位置.
|
width
|
[可选] 控件的宽度(默认使用先前的宽度).
|
height
|
[可选] 控件的高度(默认使用先前的高度).
|
style
|
[可选] 控件的样式. 查看附录 GUI 控件样式表.
|
exStyle
|
[可选] 控件的扩展样式. 查看附录 扩展样式表.
|
返回值
成功:
|
返回控件标识符(控件ID).
|
失败:
|
返回 0.
|
备注
要获得控件的值, 查看 GUICtrlRead().
设置或者修改控件信息, 参考 GUICtrlUpdate...() 控件更新控件更新类函数.
更新进度位置, 请参考 GUICtrlSetData().
要在默认样式上添加新样式, 可使用 BitOR($GUI_SS_DEFAULT_PROGRESS, 新样式,...) 语句.
使用上面列出的值必须将 #include <ProgressConstants.au3> 语句写入脚本中.
默认大小 $GUI_DOCKAUTO 出现的大小和位置.
相关
GUICoordMode (Option), GUICtrlSetData, GUICtrlUpdate..., GUIGetMsg
函数示例
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <ProgressConstants.au3>
Example()
Func Example()
GUICreate("My GUI Progressbar", 220, 100, 100, 200)
Local $idProgressbar1 = GUICtrlCreateProgress(10, 10, 200, 20)
GUICtrlSetColor(-1, 32250); not working with Windows XP Style
Local $idProgressbar2 = GUICtrlCreateProgress(10, 40, 200, 20, $PBS_SMOOTH)
Local $idButton = GUICtrlCreateButton("Start", 75, 70, 70, 20)
GUISetState(@SW_SHOW)
Local $iWait = 20; wait 20ms for next progressstep
Local $iSavPos = 0; progressbar-saveposition
Local $idMsg, $idM
; Loop until the user exits.
Do
$idMsg = GUIGetMsg()
If $idMsg = $idButton Then
GUICtrlSetData($idButton, "Stop")
For $i = $iSavPos To 100
If GUICtrlRead($idProgressbar1) = 50 Then MsgBox($MB_SYSTEMMODAL, "Info", "The half is done...", 1)
$idM = GUIGetMsg()
If $idM = -3 Then ExitLoop
If $idM = $idButton Then
GUICtrlSetData($idButton, "Next")
$iSavPos = $i;save the current bar-position to $iSavPos
ExitLoop
Else
$iSavPos = 0
GUICtrlSetData($idProgressbar1, $i)
GUICtrlSetData($idProgressbar2, (100 - $i))
Sleep($iWait)
EndIf
Next
If $i > 100 Then
; $iSavPos=0
GUICtrlSetData($idButton, "Start")
EndIf
EndIf
Until $idMsg = $GUI_EVENT_CLOSE
EndFunc ;==>Example
----------------------------------------
|