Старожил
Сообщения: 460
Благодарности: 152
|
Профиль
|
Отправить PM
| Цитировать
и такой пример:
читать дальше »
Код: 
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, $hChildWin
_Example_1()
Func _Example_1()
GUIDelete($hParentWin)
GUIDelete($hChildWin)
$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, 195, 150, 22)
GUICtrlSetOnEvent(-1, '_Open_Example_2')
$hChildWin = GUICreate('Дочерное окно', 250, 250, 300, 300, -1, -1, $hParentWin)
GUISetOnEvent($GUI_EVENT_CLOSE, '_Win_Close')
GUISetBkColor(0x00ff00, $hChildWin)
GUISwitch($hParentWin)
GUICtrlCreateTab(10, 10, 150, 150)
GUICtrlCreateTabItem('1-1')
GUICtrlCreateTabItem('1-1')
GUISwitch($hChildWin)
GUICtrlCreateTab(10, 10, 150, 150)
GUICtrlCreateTabItem('2-1')
GUICtrlCreateTabItem('2-1')
GUISetState(@SW_SHOW, $hParentWin)
GUISetState(@SW_SHOW, $hChildWin)
EndFunc
Func _Example_2()
GUIDelete($hParentWin)
GUIDelete($hChildWin)
$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, 195, 150, 22)
GUICtrlSetOnEvent(-1, '_Open_Example_2')
$hChildWin = GUICreate('Дочерное окно', 250, 250, 200, 20, BitOR($WS_CHILD, $WS_TABSTOP), -1, $hParentWin)
GUISetOnEvent($GUI_EVENT_CLOSE, '_Win_Close')
GUISetBkColor(0x00ff00, $hChildWin)
GUISwitch($hParentWin)
GUICtrlCreateTab(10, 10, 150, 150)
GUICtrlCreateTabItem('1-1')
GUICtrlCreateTabItem('1-1')
GUISwitch($hChildWin)
GUICtrlCreateTab(10, 10, 150, 150)
GUICtrlCreateTabItem('2-1')
GUICtrlCreateTabItem('2-1')
GUISetState(@SW_SHOW, $hParentWin)
GUISetState(@SW_SHOW, $hChildWin)
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
угадал )
Пример, что выше, с комментариями:
читать дальше »
Код: 
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <StructureConstants.au3>
#include <GUIScrollBars.au3>
#include <ScrollBarConstants.au3>
Local $nFileMenu, $nExititem, $GUIMsg, $hGUI, $h_cGUI, $h_cGUI2
Local $listview, $button
;~ Создается родительское окно
$hGUI = GUICreate("ScrollBar Example", 600, 600, -1, -1, BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU, $WS_SIZEBOX))
GUISetBkColor(0x88AABB)
$nFileMenu = GUICtrlCreateMenu("File")
$nExititem = GUICtrlCreateMenuItem("Exit", $nFileMenu)
$listview = GUICtrlCreateListView("col1 |col2|col3 ", 10, 10, 200, 150);,$LVS_SORTDESCENDING)
$button = GUICtrlCreateButton("Value?", 75, 170, 70, 20)
GUICtrlSetResizing($button, $GUI_DOCKALL)
For $x = 1 To 30
GUICtrlCreateListViewItem("item" & $x & "|col2|col3", $listview)
Next
GUICtrlSetResizing($listview, $GUI_DOCKALL)
;~ Созхдается дочерное окно
;~ Указывается стиль: $WS_CHILD, тогда окно будет внутри родительского окна
;~ Указывается хэндел (указатель) на родительское окно: $hGUI
$h_cGUI = GUICreate("Child GUI", 200, 200, 10, 200, BitOR($WS_CHILD, $WS_TABSTOP), $WS_EX_CLIENTEDGE, $hGUI)
GUICtrlCreateButton("a button", 10, 10, 90, 20)
GUICtrlCreateButton("a button", 10, 35, 90, 20)
GUISetBkColor(0X006400)
GUISetState()
GUICtrlSetResizing($h_cGUI, $GUI_DOCKALL)
GUISwitch($hGUI)
$h_cGUI2 = GUICreate("Child GUI", 200, 200, 215, 10, BitOR($WS_CHILD, $WS_TABSTOP), $WS_EX_CLIENTEDGE, $hGUI)
GUICtrlCreateButton("a button", 10, 10, 90, 20)
GUISetBkColor(0X006400)
GUISetState()
GUICtrlSetResizing($h_cGUI2, $GUI_DOCKALL)
GUISwitch($hGUI)
GUISetState(@SW_SHOW, $hGUI)
While 1
$GUIMsg = GUIGetMsg()
Switch $GUIMsg
Case $GUI_EVENT_CLOSE, $nExititem
ExitLoop
EndSwitch
WEnd
Одна беда у этой технологии, имхо все рушит, - то, что в дочерных окнах нет возможности перемещатся между элементами управления с помощью клавиши TAB ....
Запусти это пример и попробуй перейти с одной кнопки на другу через TAB (в окне где 2-е кнопки).
|