Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


gregaz
Цитата:
Просьба показать на примере,содержащем следующее
Вот пример:

Код: Выделить весь код
Global $Input1, $Input2, $ReadButton=-1, $SaveButton=-1

$Gui = GUICreate("Demo GUI", 400, 300)

$Label1 = GUICtrlCreateLabel("Строка 1", 20, 50, 300)
$Label2 = GUICtrlCreateLabel("Строка 2", 20, 100, 300)

$Button1 = GUICtrlCreateButton("Button1", 100, 260, 70)
$Button2 = GUICtrlCreateButton("Button2", 250, 260, 70)

GUISetState()

While 1
    Switch GUIGetMsg()
        Case -3
            Exit
        Case $Button1 ;нажата кнопка "Button1"
            ;Нажата кнопка "Button1", а значит стираем инфу и вместо неё пишем другую
            ;(можно конечно удалять контроли и создавать новые, но не вижу в этом смысла ;) )...
            GUICtrlSetData($Label1, "Новая строка 1")
            GUICtrlSetData($Label2, "Новая строка 2")

                        ;Создаём поля ввода
            $Input1 = GUICtrlCreateInput("Поле ввода 1", 20, 140, 300)
            $Input2 = GUICtrlCreateInput("Поле ввода 2", 20, 180, 300)

                        ;Создаём кнопки Read-Save
            $ReadButton = GUICtrlCreateButton("Read", 100, 220, 70)
            $SaveButton = GUICtrlCreateButton("Save", 250, 220, 70)
        Case $Button2 ;нажата кнопка "Button2"
            ;Удаляем всё кроме кнопок "Button1" и "Button2"
            GUICtrlDelete($Label1)
            GUICtrlDelete($Label2)
            GUICtrlDelete($Input1)
            GUICtrlDelete($Input2)
            GUICtrlDelete($ReadButton)
            GUICtrlDelete($SaveButton)
        Case $ReadButton ;нажата кнопка "Read"
            ;Выводим тот текст что создали (я так понял это нужно?)
            MsgBox(64, "Info", "Поле ввода 1" & @LF & "Поле ввода 2")
        Case $SaveButton ;нажата кнопка "Save"
            ;Выводим то что в полях ввода
            $ReadInput1 = GUICtrlRead($Input1)
            $ReadInput2 = GUICtrlRead($Input2)
            MsgBox(64, "Info", $ReadInput1 & @LF & $ReadInput2)
    EndSwitch
WEnd
Цитата:
Как правильно вводить текст и очищать окно
Это очень сильно зависит от конкретного случая... можно удалить все созданные контроли, но можно и просто очистить данные (GuiCtrlSetData($ControlID, ""), но это также зависит от типа контроля (поле ввода, чекбокс, и т.д).

Цитата:
Как правильно организовать опрос элементов GUI при наличии вновь появляющихся
В каком смысле опрос элементов? чтобы иметь к ним доступ? я это привёл в примере, те контроли, что создаются позже в цикле, нужно заранее обьявить, и желательно со значениями не ровняющимися нулю (0) - типичное поведение переменных обьявленых без значения.

Цитата:
Как правильно осуществлять поиск по данной теме форума
Лучше всего переключить в режим печати (ВСЕ), и искать на странице (Ctrl F ).

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 14:59, 07-06-2007 | #487