Что нового

Сделать неактивными элементы GUI

Scampy

Новичок
Сообщения
54
Репутация
0
Доброго времени суток всем!
Есть скрипт
Код:
#include <GUIConstants.au3>
#include <Constants.au3>
#include <File.au3>

$_1 = GUICreate("Тест", 300, 300, 200, 200)
$Checkbox1 = GUICtrlCreateCheckbox("Калькулятор", 30, 30, 200, 17)
$Checkbox2 = GUICtrlCreateCheckbox("Блокнот", 30, 50, 200, 17)
$Checkbox3 = GUICtrlCreateCheckbox("CMD", 30, 70, 200, 17)
$Button1 = GUICtrlCreateButton("Запустить", 40, 120, 100, 30)

GUISetState(@SW_SHOW)
While 1
    Switch GUIGetMsg()
        Case -3
            Exit
		 Case $Button1
		 GUICtrlSetState($Button1, $GUI_DISABLE)
			if GUICtrlRead($Checkbox1) = 1 Then
			   RunWait('calc.exe')
			EndIf
			if GUICtrlRead($Checkbox2) = 1 Then
			   RunWait('notepad.exe')
			EndIf
			if GUICtrlRead($Checkbox3) = 1 Then
			   RunWait('cmd.exe')
			EndIf
		 GUICtrlSetState($Button1, $GUI_ENABLE)
	  EndSwitch
WEnd


Как сделать чтоб при нажатии на кнопку неактивными были еще и чекбоксы? А после выполнения все было активно. Видимо в каждом нужно что то дописывать... Со временем их будет порядка 30-40.
Спасибо
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,323
Scampy,
А не проще окно заблокировать? (GUISetState и флаги @SW_DISABLE, потом @SW_ENABLE).
 

Dima1337

Осваивающий
Сообщения
186
Репутация
24
Так же как и кнопку запуска только вместо:
Код:
GUICtrlSetState($Button1, $GUI_DISABLE)
GUICtrlSetState($Button1, $GUI_ENABLE)

Нужно:
Код:
GUICtrlSetState($Checkbox1, $GUI_DISABLE)
GUICtrlSetState($Checkbox1, $GUI_ENABLE)
 
Автор
S

Scampy

Новичок
Сообщения
54
Репутация
0
madmasles,
Логично, спасибо )

Dima1337,
Благодарю... чет не подумал об этом ) но строк добавлять много придется, но как вариант пригодится
 

Dima1337

Осваивающий
Сообщения
186
Репутация
24
Я бы сделал
Код:
if GUICtrlRead($Checkbox1) = 1 Then
	$Prog = Run('calc.exe')
	RunWait($Prog)
EndIf

Так можно запустить разом несколько приложений...
 
Верх