Что нового

Сменить неактивную кнопку на активную и наоборот

kvitnitskiy

Новичок
Сообщения
56
Репутация
0
Доброго времени суток господа,
подскажите, как сменить неактивную кнопку на активную и наоборот в контексте ниже приведенного кода ?
;что бы между Then и Return, выполнялось GUICtrlSetState($Startrefresh,$GUI_ENABLEABLE) и GUICtrlSetState($Stopb,$GUI_DISABLE)
Код:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <ComboConstants.au3>

HotKeySet("{F1}", "Pause")
Global $Paused
Func Terminate()
	Exit 0
EndFunc
Func Pause()
	$Paused = Not $Paused
	While $Paused
		Sleep(50)
		ToolTip("F1")
	WEnd
    ToolTip("")
EndFunc

$DesktopWidth = @DesktopWidth
$DesktopHeight = @DesktopHeight
$mainForm = GUICreate("Test", 200, 38, $DesktopWidth-210, $DesktopHeight-70, BitOR($GUI_SS_DEFAULT_GUI,$DS_MODALFRAME), BitOR($WS_EX_TOPMOST,$WS_EX_WINDOWEDGE))
$Startrefresh = GUICtrlCreateButton("Start", 4, 4, 50, 30)
$Stopb = GUICtrlCreateButton("Stop", 55, 4, 50, 30)
GUICtrlSetState($Stopb,$GUI_DISABLE)
$CounterLabel = GUICtrlCreateLabel("00", 160, 15, 35, 30)
$Count = GUICtrlCreateLabel("0", 170, 1, 40, 11)
GUICtrlSetFont($CounterLabel, 15)
$periodruns = GUICtrlCreateCombo("", 107, 10, 45, 5, $CBS_DROPDOWNLIST + $WS_VSCROLL)
GUICtrlSetData(-1, "10|30|60|90|120|180|240", "60")

GUISetState(@SW_SHOW)
While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case  $Startrefresh
			 GUICtrlSetState($Startrefresh,$GUI_DISABLE)
			 GUICtrlSetState($Stopb,$GUI_ENABLE)
			Refresh()

	EndSwitch
WEnd
Func Refresh ()
	$iSleeepingTime= GUICtrlRead($periodruns)
 $c=1
While 1
		GUICtrlSetData($Count, $C)
		$c=$c+1
		For $Counter = $iSleeepingTime To 0 Step -1
		GUICtrlSetData($CounterLabel, $Counter)
		GUICtrlSetFont($CounterLabel, 15)
		$Time = TimerInit()
        Do
        If GUIGetMsg() = $Stopb Then     Return
		;что бы  между Then  и Return, выполнялось GUICtrlSetState($Startrefresh,$GUI_ENABLEABLE)  и  GUICtrlSetState($Stopb,$GUI_DISABLE)
		Until TimerDiff($Time) > 1000
		Next
	wend
EndFunc
 

InnI

AutoIT Гуру
Сообщения
4,911
Репутация
1,427
Код:
...
        Do
            If GUIGetMsg() = $Stopb Then
                GUICtrlSetState($Startrefresh,$GUI_ENABLE)
                GUICtrlSetState($Stopb,$GUI_DISABLE)
                Return
            EndIf
        Until TimerDiff($Time) > 1000
...
 
Верх