ich bekomme es einfach nicht hin!!

  • hallo zusammen,
    ich möchte gerne, wenn ich auf ein button geklickt habe, auch mit einem button zurück zum hautpfenster.
    kann mir jemand da ein beispiel geben wie ich es schreiben kann, ich habe unten schon mal ein beispiel von mir (mit dem fehler halt)


    [autoit]

    #include <GUIConstants.au3>

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    $GUI = GUICreate("Hallo", 300, 200)
    $button1 = GUICtrlCreateButton("Bild öffnen", 98, 70, 100, 50)
    GUISetState()
    GUISetBkColor(0xe0c782)
    GUICtrlCreateLabel("made by codemaster", 107, 180)

    [/autoit][autoit][/autoit][autoit]

    While 1
    $msg = GUIGetMsg()

    [/autoit][autoit][/autoit][autoit]

    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit

    [/autoit][autoit][/autoit][autoit]

    Case $msg = $button1
    GUICreate("", 700, 550)
    GUICtrlCreateButton("Zurück", 310, 515, 80, 25)
    GUISetState()
    EndSelect

    [/autoit][autoit][/autoit][autoit]

    WEnd

    [/autoit]
    • Offizieller Beitrag

    Hi,

    sowas?

    [autoit]

    #include <GUIConstants.au3>

    [/autoit][autoit][/autoit][autoit]

    Const $WM_GETMINMAXINFO = 0x24

    [/autoit][autoit][/autoit][autoit]

    $main_GUI = GUICreate("Main GUI", 300, 100, 10, 10, BitOR($GUI_SS_DEFAULT_GUI, $WS_SIZEBOX))
    $b_1 = GUICtrlCreateButton("Click me 1", 10, 10, 80, 20)
    GUISetState(@SW_SHOW, $main_GUI)

    [/autoit][autoit][/autoit][autoit]

    $child_GUI = GUICreate("Child GUI", 300, 100, 330, 10, BitOR($GUI_SS_DEFAULT_GUI, $WS_SIZEBOX), Default, $main_GUI)
    $b_2 = GUICtrlCreateButton("Click me 2", 10, 10, 80, 20)
    GUISetState(@SW_SHOW, $child_GUI)

    [/autoit][autoit][/autoit][autoit]

    GUIRegisterMsg($WM_GETMINMAXINFO, "MY_WM_GETMINMAXINFO")

    [/autoit][autoit][/autoit][autoit]

    While 1
    $msg = GUIGetMsg(1)
    Select
    Case $msg[0] = $GUI_EVENT_CLOSE And $msg[1] = $main_GUI
    MsgBox(16, "MAIN", "Closed MAIN", 2)
    Exit(0)
    Case $msg[0] = $GUI_EVENT_CLOSE And $msg[1] = $child_GUI
    MsgBox(16, "CHILD", "CLOSED CHILD", 2)
    GUIDelete($child_GUI)
    Case $msg[0] = $b_1 And $msg[1] = $main_GUI
    MsgBox(16, "MAIN", "Button 1", 2)
    Case $msg[0] = $b_2 And $msg[1] = $child_GUI
    MsgBox(16, "CHILD", "Button 2", 2)
    EndSelect
    WEnd

    [/autoit][autoit][/autoit][autoit]

    Func MY_WM_GETMINMAXINFO($hWnd, $msg, $wParam, $lParam)
    If $hWnd <> $main_GUI Then Return
    $minmaxinfo = DllStructCreate("int;int;int;int;int;int;int;int;int;int", $lParam)
    DllStructSetData($minmaxinfo, 7, 500) ; min X
    DllStructSetData($minmaxinfo, 8, 250) ; min Y
    DllStructSetData($minmaxinfo, 9, 500) ; max X
    DllStructSetData($minmaxinfo, 10, 700) ; max Y
    Return 0
    EndFunc ;==>MY_WM_GETMINMAXINFO

    [/autoit]

    So long,

    Mega

  • Xenobiologist
    Erstmals Danke für deine schnelle Antwort. :]

    Nein, ich meine, wenn ich das hauptfenster vor mir habe, auf dem hauptfenster ist das button, wenn ich da dann drauf klicke, öffnet sich ein neues (dazu). Aber wenn ich es schließen möchte schließen sich gleich alle beide fenster (Hauptfe. und das eröffnete das ich schließe).
    Oder mit einem Button der wieder zum Haupfenster zurückkehrt.
    Ich hoffe das ich es ausführlich geschrieben habe, falls nicht dann fragt einfach.

    Einmal editiert, zuletzt von m3hm3t (12. Oktober 2007 um 19:25)

  • Aso ist das, danke.
    Aber könnest du es mit meinem verbinden so hätte ich es als beispiel.
    Wie du ja schon weißt bin ich ja neu, und weiß noch nicht so viel, aber ich lerne ja draus. :]

    • Offizieller Beitrag

    Hi,

    die einfachste Möglichkeit wäre so:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $main = GUICreate("Hallo", 300, 200)
    $bild_B = GUICtrlCreateButton("Bild öffnen", 98, 70, 100, 50)
    GUISetBkColor(0xe0c782)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel("made by codemaster", 107, 180)
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    $child = GUICreate("", 700, 550)
    $back_B = GUICtrlCreateButton("Zurück", 310, 515, 80, 25)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()

    [/autoit] [autoit][/autoit] [autoit]

    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    Case $msg = $bild_B
    GUISetState(@SW_SHOW, $child)
    GUISetState(@SW_HIDE, $main)
    Case $msg = $back_B
    GUISetState(@SW_HIDE, $child)
    GUISetState(@SW_SHOW, $main)
    EndSelect
    WEnd

    [/autoit]

    So long,

    Mega

  • Hi, habe bei der sache noch eine frage offen.
    Wie kann ich eigentlich wenn ich auf "X" klicke wieder zum hauptfenster. :D

    Habe schon die ganze zeit rum probiert, aber nichts klappt.

    Einmal editiert, zuletzt von m3hm3t (14. Oktober 2007 um 01:05)

    • Offizieller Beitrag

    Da mußt du zusätzlich zu ID/Event auch das Fensterhandle auswerten:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

    $main = GUICreate("Hallo", 300, 200)
    $bild_B = GUICtrlCreateButton("Bild öffnen", 98, 70, 100, 50)
    GUISetBkColor(0xe0c782)

    GUICtrlCreateLabel("made by codemaster", 107, 180)
    GUISetState()

    $child = GUICreate("", 700, 550)
    $back_B = GUICtrlCreateButton("Zurück", 310, 515, 80, 25)

    While 1
    $msg = GUIGetMsg(1)
    Switch $msg[1] ; Window-Handle
    Case $main
    Switch $msg[0] ; Control-ID, Event
    Case $GUI_EVENT_CLOSE
    Exit
    Case $bild_B
    GUISetState(@SW_SHOW, $child)
    GUISetState(@SW_HIDE, $main)
    EndSwitch
    Case $child
    Select
    Case $msg[0] = $GUI_EVENT_CLOSE Or _
    $msg[0] = $back_B
    GUISetState(@SW_HIDE, $child)
    GUISetState(@SW_SHOW, $main)
    EndSelect
    EndSwitch
    WEnd

    [/autoit]
  • Achso, hatte ich nicht gewusst, ok.
    Ist aber schon eine komplizierte sache ihr nur für das "X".
    Trotzdem Danke, BugFix . :]

    2 Mal editiert, zuletzt von m3hm3t (14. Oktober 2007 um 11:07)