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

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

Аватара для Creat0R

Must AutoIt


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

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


amel27
Цитата:
чем не устраивает простое отключение/включение родительского окна?
Ну например, в панели задачь появляется дополнительная вкладка , или если сделать поверх всех окон гуи, то вызываемое окно буде за ним... можно конечно выкрутится функцией WinSetOnTop, но это, имхо, не удобно...
В идеале, хочется чтобы можно было вызвать окно сохранения (к примеру), и нажимая на окно гуи, чтобы вызванное окно мигало, точно также как это происходит если вызвать дочернее окно гуи... вот пример:

Код: Выделить весь код
#include <GUIConstants.au3>

$ParentWin = GUICreate("Parent GUI", 250, 250)
$Button = GUICtrlCreateButton("Child", 20, 50)

GUISetState()

$ChildWin = GUICreate("Child GUI", 200, 200, -1, -1, -1, -1, $ParentWin)

While 1
    $msg1 = GUIGetMsg()

        Select
        Case $msg1 = $GUI_EVENT_CLOSE
            Exit
        Case $msg1 = $Button
            GUISetState(@SW_DISABLE, $ParentWin)
            GUISetState(@SW_SHOW, $ChildWin)
            While 1
                $msg2 = GUIGetMsg()
                Select
                    Case $msg2 = $GUI_EVENT_CLOSE
                        GUISetState(@SW_RESTORE, $ParentWin)
                        GUISetState(@SW_ENABLE, $ParentWin)
                        GUISetState(@SW_HIDE, $ChildWin)
                        ExitLoop
                EndSelect
            Wend
    EndSelect
WEnd
Кстати, почти такой же способ (в плане задумки функиональности) как ты привёл в примере, я использовал для скрипта который разукрашивает скрипты для поста . Ты его уже видел? тот который я запостил тут.

P.S
Вместо WinSetState лучше GuiSetState, и порядок таких объявлении очень важен... если именно для дочернего гуи, то так как я привёл в посте (@SW_HIDE в конце), это идеальный способ (таким образом не мигает окно родительского гуи в момент его активации).
И ещё, вместо WinActivate("Title") лучше WinSetState("Title", "", @SW_RESTORE), это если для гуи, оно быстрее срабатывает.

P.S.S.
А ты не знаешь случам как решить задачку про проверку на нажатие определённой клавиши, кнопки мышки, или любого другого действия со стороны пользователя? (Которую я тоже привёл в посте со скриптом для разукрашивания).

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

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

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

Это сообщение посчитали полезным следующие участники:

Отправлено: 09:06, 01-12-2006 | #503