-
AutoIt
(
http://forum.oszone.net/forumdisplay.php?f=103)
Можно это прописать отдной строкой ???
Код:
GUICtrlSetState($Button1, $GUI_DISABLE)
GUICtrlSetState($Button2, $GUI_DISABLE)
GUICtrlSetState($Button3, $GUI_DISABLE)
|
FlatX007
Если элементов много, то можно создать массив с этими элементами:
Код:
#include <GuiConstantsEx.au3>
Global $aButton[12]
Dim $iLeft = 11, $iTop = 11
$hGUI = GUICreate("Test GUI", 269, 200)
For $i = 0 To UBound($aButton) - 1
$aButton[$i] = GUICtrlCreateButton("Button " & $i + 1, $iLeft, $iTop, 75, 23)
$iLeft += 85
If $iLeft >= 200 Then
$iLeft = 11
$iTop += 30
EndIf
Next
$cButton_EnableDisable = GUICtrlCreateButton("Disable", 11, 166, 75, 23)
GUISetState()
While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
Exit
Case $cButton_EnableDisable
If GUICtrlRead($cButton_EnableDisable) = "Disable" Then
_ControlEnableDisableEx($aButton, 0)
GUICtrlSetData($cButton_EnableDisable, "Enable")
Else
_ControlEnableDisableEx($aButton, 1)
GUICtrlSetData($cButton_EnableDisable, "Disable")
EndIf
EndSwitch
WEnd
Func _ControlEnableDisableEx($aControls, $iState = 1)
Local $nState = $GUI_ENABLE
If $iState = 0 Then $nState = $GUI_DISABLE
For $i = 0 To UBound($aControls) - 1
GUICtrlSetState($aControls[$i], $nState)
Next
EndFunc ;==>_ControlEnableDisable
|
Элементов допустим 8 НО !
если я пропишу моим способом то строк будет 8 а твоим способом ОГОГО скока кода, и в том, что ты написал ещё разобраться нужно.
А как попроще можно ???
И у меня тут ещё проблема нарисовалась:
Допусим есть у меня граффическое окно с элементом GUICtrlCreateInput для ввода туда текста, допустим ввёл я туда тескст КАК ??? сделать чтобы это поле очистилось после нажатия на некую кнопку в этом же граффическом окне.
Спасиба.
|
FlatX007, в код кнопки допиши GUICtrlSetData($controlid, "")
|
Чёрд это я стормазил ... над очевидным решением Спасибо работает!
|
Цитата:
Цитата FlatX007
если я пропишу моим способом то строк будет 8 а твоим способом ОГОГО скока кода »
|
А мне лень писать GUICtrlSetState($Button1, $GUI_DISABLE) восемь раз :tongue: да и некрасиво будет выглядеть.
Всё зависит от поставленной задачи: если тебе требуется выполнить вышеуказанные действия единожды, то может быть твой способ будет предпочтителен.
Цитата:
Цитата FlatX007
А как попроще можно ??? »
|
А кто сказал, что будет легко? (С) :)
|
Цитата:
Цитата FlatX007
Можно это прописать отдной строкой ? »
|
Одной нет, но если все переменные такого-же типа, то можно в цикле:
Код:
For $i = 1 To 8
GUICtrlSetState(Eval("Button" & $i), $GUI_DISABLE)
Next
|
Creat0R я примерно так себе это представлял .... только незнал как правильно решить - спасибо ты МОЗГ!!
|
Время: 17:04.
© OSzone.net 2001-