GUICtrlCreateProgress
Создаёт полоску прогресса в GUI.
GUICtrlCreateProgress ( left, top [, width [, height [, style = -1 [, exStyle = -1 ]]]] )
Параметры
left | Координата левого края. Если -1 - тогда координата в соответствии с GUICoordMode. |
top |
Координата верхнего края. Если -1 - тогда координата в соответствии с GUICoordMode. |
width |
[необязательный] Ширина элемента (по умолчанию предыдущее значение). |
height |
[необязательный] Высота элемента (по умолчанию предыдущее значение). |
style |
[необязательный] Стиль элемента. Смотрите Стили элементов GUI в приложении. |
exStyle |
[необязательный] Расширенный стиль элемента. Смотрите таблицу расширенных стилей. |
Возвращаемое значение
Успех: | Возвращает идентификатор (controlID) нового элемента. |
Ошибка: | Возвращает 0. |
Примечания
Для получения параметров элемента смотрите GUICtrlRead.См. также
GUICoordMode (Опция), GUICtrlSetData, GUICtrlUpdate..., GUIGetMsgПример
#include <GUIConstantsEx.au3>
#include <ProgressConstants.au3>
Local $progressbar1, $progressbar2, $button, $wait, $s, $msg, $m
GUICreate("Прогресс бар", 220, 100, 100, 200)
$progressbar1 = GUICtrlCreateProgress(10, 10, 200, 20)
GUICtrlSetColor(-1, 32250); не работает в стиле Windows XP
$progressbar2 = GUICtrlCreateProgress(10, 40, 200, 20, $PBS_SMOOTH) ; $PBS_MARQUEE - бегунок
$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(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