GUI schließen/ Verstecken geht nciht

  • Hallo..

    Ich habe das Problem das ich ein Fenster mit einer ListView Tabelle habe (Daten aus SQLlite) und einen Button Bearbeiten,
    wo ein neues fenster geöffnet wird wo ich die werte in der Tabelle bearbeiten und speichern kann,,,

    Das geht auch alles nur möchte ich gern das 2. fenster "Bearbeiten" schließen um mit den Hauptfenster weiter arbeiten zu können..

    ich habe das Bearbeiten GUI mit:

    GUICtrlSetState(@SW_HIDE, $guiie)

    versteckt nur konnte ich im Hauptfenster keine aktionen Button´s usw ausführen..

    könnte mir bitte wer helfen?

    Mfg
    Sascha

    Einmal editiert, zuletzt von !*sascha*! (6. September 2008 um 01:05)

  • Hier habe ich mal ein Beispiel gemacht...
    Das Original ist zu viel quelltext


    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 319, 129, 277, 201)
    $Button1 = GUICtrlCreateButton("Hallo Msg", 64, 64, 81, 25, 0)
    $Button2 = GUICtrlCreateButton("Bearbeiten", 224, 64, 81, 25, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $Button1
    MsgBox(0,"Hallo","Hallo")

    Case $Button2
    _Bearbeiten() ; <<< hier öffne ich mein 2. GUI

    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

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

    Func _Bearbeiten()
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form2", 176, 159, 289, 224)
    $Input1 = GUICtrlCreateInput("Input1", 24, 16, 121, 21)
    $Input2 = GUICtrlCreateInput("Input2", 24, 56, 121, 21)
    $Button1 = GUICtrlCreateButton("speichern", 40, 104, 75, 25, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit ; <<<<<<< hier ist mein Problem es soll nur das 2. GUI geschlossen werden mit @SW_HIDE
    ;verstecke ich es aber im hauptfenster geht kein Button mehr z.b. hier der hallo Button
    EndSwitch
    WEnd

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


    EndFunc

    [/autoit]
    • Offizieller Beitrag

    Na siehst Du, damit kann Dir doch schon geholfen werden.
    Dein zweites Fenster benutzt die gleiche Variable wie Dein erstes Fenster. Das solltest Du als allererstes ändern (z.B. in $Form2).
    Unter das "Case $GUI_EVENT_CLOSE" schreibst Du dann "GUIDelete($Form2)" und "ExitLoop", um aus der MSG-Schleife rauszukommen und um die Funktion zu beenden.

    Edit: Ein besserer Programmierstil wäre es natürlich, erst beide Fenster zu erstellen und dann mit GUISetState(@SW_SHOW/@SW_HIDE) das Fenster ein-/auszublenden.

  • Super.. Vielen Dank du hast mir echt geholfen!

    Ich habe die beiden Behfele auch schon probiert nur nie zusammen^^ grrr :rofl: