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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Создание дочерних окон

Ответить
Настройки темы
[решено] Создание дочерних окон

Аватара для morgan1991

Старожил


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

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


Изменения
Автор: morgan1991
Дата: 17-07-2009
Люди добрые помогите пожалуйста.
Нашол в справке пример сосдания окна внутри которого ещё одно окно, но никак не могу понять как это работает.
Помогите пожалуйста разобраться.
Нужно как можно кратче!, чтоб небыло ничего лишнего...
Заранее спасибо...

-------
Хочу научиться писать драйвера на с++


Отправлено: 22:17, 16-07-2009

 

Аватара для Yashied

Старожил


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

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


Цитата morgan1991:
Это вроди одно и тоже... »
В том то и дело, что не одно и тоже. Попробуй.

Цитата morgan1991:
Скажите вот ещё пожалуйста, а возможно ли сделать так:
есть окно, внутри него второе окно, можно ли заменить второе окно на третье, а потом обратно »
А почему бы и нет, можно и третье, и четвертое, и т.д.


@proxy

Я под "Окно в окне" понял что имеется в виду MDI-окна. В принципе CreatOR прав, название темы должно быть более содержательным.

Последний раз редактировалось Yashied, 17-07-2009 в 02:30.


Отправлено: 02:04, 17-07-2009 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для proxy

Старожил


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

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


Цитата morgan1991:
есть окно, внутри него второе окно, можно ли заменить второе окно на третье, а потом обратно »
пример:
читать дальше »


Код: Выделить весь код
Opt('GUIOnEventMode',       1)
Opt('MustDeclareVars',      1)
Opt('TrayIconDebug',        1)
Opt('TrayIconHide',         0)

#include <GUIConstants.au3>
#include <WindowsConstants.au3>

HotKeySet('{ESC}', '_Pro_Exit'); Закрыть скрипт: ESC
Global $hParentWin, $hChild1Win, $hChild2Win
_Example_2()

Func _Example_1()
    GUIDelete($hParentWin)
    GUIDelete($hChild1Win)
    GUIDelete($hChild2Win)

    $hParentWin = GUICreate('Родительскоре окно', 300, 400, 100, 250)
        GUISetOnEvent($GUI_EVENT_CLOSE, '_Pro_Exit')
        GUISetBkColor(0x0000ff, $hParentWin)

    GUICtrlCreateButton('Пример 1', 10, 170, 150, 22)
        GUICtrlSetOnEvent(-1, '_Open_Example_1')
    GUICtrlCreateButton('Пример 2', 10, 170+25, 150, 22)
        GUICtrlSetOnEvent(-1, '_Open_Example_2')
    GUICtrlCreateButton('Сменить окно', 10, 170+25*2, 150, 22)
        GUICtrlSetOnEvent(-1, '_ChangeChildWin')

    $hChild1Win = GUICreate('Дочерное окно', 250, 250, 300, 300, -1, -1, $hParentWin)
        GUISetOnEvent($GUI_EVENT_CLOSE, '_Win_Close')
        GUISetBkColor(0x00ff00, $hChild1Win)

    $hChild2Win = GUICreate('Дочерное окно', 250, 250, 300, 300, -1, -1, $hParentWin)
        GUISetOnEvent($GUI_EVENT_CLOSE, '_Win_Close')
        GUISetBkColor(0xf0ff0f, $hChild2Win)

    GUISwitch($hParentWin)
    GUICtrlCreateTab(10, 10, 150, 150)
    GUICtrlCreateTabItem('1-1')
    GUICtrlCreateTabItem('1-1')

    GUISwitch($hChild1Win)
    GUICtrlCreateTab(10, 10, 150, 150)
    GUICtrlCreateTabItem('2-1')
    GUICtrlCreateTabItem('2-1')

    GUISwitch($hChild2Win)
    GUICtrlCreateTab(10, 10, 150, 150)
    GUICtrlCreateTabItem('3-1')
    GUICtrlCreateTabItem('4-1')

    GUISetState(@SW_SHOW, $hParentWin)
    GUISetState(@SW_SHOW, $hChild1Win)
EndFunc

Func _Example_2()
    GUIDelete($hParentWin)
    GUIDelete($hChild1Win)
    GUIDelete($hChild2Win)

    $hParentWin = GUICreate('Родительскоре окно', 550, 400, 100, 250)
        GUISetOnEvent($GUI_EVENT_CLOSE, '_Pro_Exit')
        GUISetBkColor(0x0000ff, $hParentWin)

    GUICtrlCreateButton('Пример 1', 10, 170, 150, 22)
        GUICtrlSetOnEvent(-1, '_Open_Example_1')
    GUICtrlCreateButton('Пример 2', 10, 170+25, 150, 22)
        GUICtrlSetOnEvent(-1, '_Open_Example_2')
    GUICtrlCreateButton('Сменить окно', 10, 170+25*2, 150, 22)
        GUICtrlSetOnEvent(-1, '_ChangeChildWin')

    $hChild1Win = GUICreate('Дочерное окно', 250, 250, 200, 20, BitOR($WS_CHILD, $WS_TABSTOP), -1, $hParentWin)
        GUISetOnEvent($GUI_EVENT_CLOSE, '_Win_Close')
        GUISetBkColor(0x00ff00, $hChild1Win)

    $hChild2Win = GUICreate('Дочерное окно', 250, 250, 200, 20, BitOR($WS_CHILD, $WS_TABSTOP), -1, $hParentWin)
        GUISetOnEvent($GUI_EVENT_CLOSE, '_Win_Close')
        GUISetBkColor(0xf0ff0f, $hChild2Win)

    GUISwitch($hParentWin)
    GUICtrlCreateTab(10, 10, 150, 150)
    GUICtrlCreateTabItem('1-1')
    GUICtrlCreateTabItem('1-1')

    GUISwitch($hChild1Win)
    GUICtrlCreateTab(10, 10, 150, 150)
    GUICtrlCreateTabItem('2-1')
    GUICtrlCreateTabItem('2-1')

    GUISwitch($hChild2Win)
    GUICtrlCreateTab(10, 10, 150, 150)
    GUICtrlCreateTabItem('3-1')
    GUICtrlCreateTabItem('4-1')

    GUISetState(@SW_SHOW, $hParentWin)
    GUISetState(@SW_SHOW, $hChild1Win)
EndFunc

While 1
    Sleep(10)
WEnd

Func _Win_Close($hWnd='')
    If NOT Eval('hWnd') Then Assign('hWnd', @GUI_WinHandle, 1)
    GUIDelete($hWnd)
EndFunc

Func _Pro_Exit()
    Exit
EndFunc

Func _Open_Example_1()
    _Example_1()
EndFunc
Func _Open_Example_2()
    _Example_2()
EndFunc

Func _ChangeChildWin()
    If BitAnd(WinGetState($hChild1Win), 2) Then
        GUISetState(@SW_SHOW, $hChild2Win)
        GUISetState(@SW_HIDE, $hChild1Win)
    Else
        GUISetState(@SW_SHOW, $hChild1Win)
        GUISetState(@SW_HIDE, $hChild2Win)
    EndIf
EndFunc


Цитата Yashied:
Окно в окне. »
ааааа, понял, забыл про этот вариант )
очень хороший пример!

-------
Мысли-читатель сломался, может подробней расскажите?
А где исходный код? Или мы стихи обсуждаем?! )) Настройки темы > Решено ?

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

Отправлено: 02:11, 17-07-2009 | #12



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Создание дочерних окон

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Интерфейс - Центрирование окон Проводника и окон приложений. vzli_izv Microsoft Windows 2000/XP 3 16-11-2009 02:34
Разное - Установка разрешений для дочерних папок и файлов 2022 Microsoft Windows 7 1 15-11-2009 23:34
Прочее - Нужна помощь в создании дочерних доменов buhanov Сетевые технологии 7 17-03-2008 08:09
Решено | XML. DOM. Поиск дочерних элементов. penykov Программирование и базы данных 3 27-04-2006 15:46
Проблема запуска дочерних служб (1068) Myanmar Microsoft Windows NT/2000/2003 3 18-10-2005 16:35




 
Переход