函数说明

GUICtrlCreateProgress

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

GUICtrlCreateProgress ( 左侧, 上方 [, 宽度 [, 高度 [, 风格 [, 扩展风格]]]] )

 

参数

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

 

返回值

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

 

注意

若要获得控件的各种值请查看 GUICtrlRead.
若要设置或修改控件的各种信息请查看 GUICtrlSet....

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

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

 

相关

GUICoordMode(选项), GUICtrlSetData, GUICtrlSet..., GUIGetMsg

 

示例


#include <GUIConstants.au3>

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; 进度条没进一个单位就等20毫秒
$s = 0; 用于保存进度条的滑块位置
do
$msg = GUIGetMsg()
If $msg = $button Then
    GUICtrlSetData ($button,"暂停")
    For $i = $s To 100
    If GUICtrlRead($progressbar1) = 50 Then Msgbox(0,"信息","已完成一半...", 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