Hey hey hey,
Sonntag Morgen :wacko: und ich probier schon seit Stunden...
Mein Script hat jetzt um die 600 Zeilen, mittlerweile verwende ich Tabs damit das übersichtlicher bleibt. Jetzt will ich noch ein externes GUI miteinbinden (hat auch um die 600 Zeilen). Damit das jetzt hier nicht so kompliziert wird und ihr euch nicht den Kopf über mein Script zerbrechen müsst und weils auch für mich einfacher ist, hab ich schon mal ein kleines Beispiel im englischen Forum gefunden. Den DLL-Call kann ich weglassen, ist wahrscheinlich aus einer frühren Version von AutoIt. Mich würd jetzt interessieren:
Ist das überhaupt möglich, ein Child-GUI innerhalb eines Tabs zu erstellen!?
Hab schon einiges versucht: z.B.: als parent: main_gui, tab bzw. tabitem, inzwischen hab ich schon das Buch runtergeladen und natürlich die SuFu vergewaltigt aber das hat alles nichts gebracht. :pinch:
Bin mir aber sicher, dass einer von euch das Problem entweder mit Leichtigkeit oder eben auf eine andere Weise lösen wird.
Vielen Dank für eure Hilfe, hier der Code aus dem Beispiel:
[autoit]#include <GuiConstants.au3>
#include <WindowsConstants.au3>
$Main_GUI = GUICreate("Main", 500, 500)
GUISetBkColor(0x00FFFF, $Main_GUI)
;~ $tab = GUICtrlCreateTab(5,5,490,490)
[/autoit][autoit][/autoit][autoit];~ GUICtrlCreateTabItem("first")
GUICtrlCreateLabel("main GUI: $Main_GUI", 15,40)
GUICtrlSetBkColor(-1,0xFFFFFF)
$Btn_Exit = GUICtrlCreateButton("E&xit", 20, 60, 90, 20)
;~ GUICtrlCreateTabItem("second")
$Child1_GUI = GUICreate("Child1", 460, 250, 20, 230, $WS_CHILD, -1, $Main_GUI)
GUISetBkColor(0x0000FF, $Child1_GUI)
GUICtrlCreateLabel("first child gui: $Child1_GUI",15,15)
GUICtrlSetBkColor(-1,0xFFFFFF)
GUISetState(@SW_SHOW)
$Child2_GUI = GUICreate("Child2", 200, 100, 10, 50, $WS_CHILD+$WS_C, -1, $Child1_GUI)
GUISetBkColor(0xfffaf0, $Child2_GUI)
GUICtrlCreateLabel("second child gui: $Child2_GUI", 15,15)
GUICtrlSetBkColor(-1,0xFFFFFF)
$Btn_Test = GUICtrlCreateButton("Test", 40, 40, 90, 20)
GUISetState(@SW_SHOW)
;~ GUICtrlCreateTabItem("") ;==>Tab Ende
[/autoit][autoit][/autoit][autoit]GUISetState(@SW_SHOW, $Main_GUI)
;DllCall("user32.dll", "int", "SetParent", "hwnd", WinGetHandle($Child2_GUI), "hwnd", WinGetHandle($Child1_GUI))
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE, $Btn_Exit
Exit
Case $Btn_Test
MsgBox(0, "Test", "Hit Button on Child Window")
EndSwitch
WEnd