|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] GUICtrlSetState |
|
|
[решено] GUICtrlSetState
|
|
Ветеран Сообщения: 553 |
|
|
|
Отправлено: 08:51, 21-01-2009 |
|
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать 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
|
|
------- Отправлено: 10:04, 21-01-2009 | #2 |
|
Ветеран Сообщения: 553
|
Профиль | Отправить PM | Цитировать Элементов допустим 8 НО !
если я пропишу моим способом то строк будет 8 а твоим способом ОГОГО скока кода, и в том, что ты написал ещё разобраться нужно. А как попроще можно ??? И у меня тут ещё проблема нарисовалась: Допусим есть у меня граффическое окно с элементом GUICtrlCreateInput для ввода туда текста, допустим ввёл я туда тескст КАК ??? сделать чтобы это поле очистилось после нажатия на некую кнопку в этом же граффическом окне. Спасиба. |
|
Отправлено: 11:17, 21-01-2009 | #3 |
|
Пользователь Сообщения: 67
|
Профиль | Отправить PM | Цитировать FlatX007, в код кнопки допиши GUICtrlSetData($controlid, "")
|
|
------- Отправлено: 11:54, 21-01-2009 | #4 |
|
Ветеран Сообщения: 553
|
Профиль | Отправить PM | Цитировать Чёрд это я стормазил ... над очевидным решением Спасибо работает!
|
|
|
Отправлено: 12:07, 21-01-2009 | #5 |
|
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать Цитата FlatX007:
да и некрасиво будет выглядеть.Всё зависит от поставленной задачи: если тебе требуется выполнить вышеуказанные действия единожды, то может быть твой способ будет предпочтителен. Цитата FlatX007:
![]() |
||
|
------- Отправлено: 12:15, 21-01-2009 | #6 |
|
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата FlatX007:
|
|
|
------- Отправлено: 14:21, 21-01-2009 | #7 |
|
Ветеран Сообщения: 553
|
Профиль | Отправить PM | Цитировать Creat0R я примерно так себе это представлял .... только незнал как правильно решить - спасибо ты МОЗГ!!
|
|
Отправлено: 17:57, 21-01-2009 | #8 |
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
|