GUI用のプログレスコントロールを作成します。
GUICtrlCreateProgress ( left, top [, width [, height [, style [, exStyle]]]] )
パラメータ
left | コントロールの左端。-1を使用するとGUICoordModeに基づいて左端位置が計算されます。 |
top | コントロールの上端。-1を使用するとGUICoordModeに基づいて上端位置が計算されます。 |
width | [オプション] コントロールの幅(デフォルトは最後に使用された幅)。 |
height | [オプション] コントロールの高さ(デフォルトは最後に使用された高さ)。 |
style | [オプション] コントロールのスタイルを定義。GUIコントロールスタイル付録を参照。 |
exStyle | [オプション] コントロールの拡張スタイルを定義。拡張スタイル表を参照。 |
返し値
成功 | 新しく作成したコントロールの識別子(コントロールID)を返します。 |
失敗 | 0を返します。 |
注意
コントロールの値を取得する方法についてはGUICtrlReadを参照。
関連
GUICoordMode (Option), GUICtrlSetData, GUICtrlUpdate..., GUIGetMsg
例
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
Opt('MustDeclareVars', 1)
Example()
Func Example()
Local $progressbar1, $progressbar2, $button, $wait, $s, $msg, $m
GUICreate("My GUI Progressbar", 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("Start", 75, 70, 70, 20)
GUISetState()
$wait = 20; 次のプログレスステップまで20ms待機
$s = 0; プログレスバー-セーブ位置
Do
$msg = GUIGetMsg()
If $msg = $button Then
GUICtrlSetData($button, "Stop")
For $i = $s To 100
If GUICtrlRead($progressbar1) = 50 Then MsgBox(0, "Info", "The half is done...", 1)
$m = GUIGetMsg()
If $m = -3 Then ExitLoop
If $m = $button Then
GUICtrlSetData($button, "Next")
$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, "Start")
EndIf
EndIf
Until $msg = $GUI_EVENT_CLOSE
EndFunc ;==>Example