GUI Problem

  • Gui löschen und neue sachen ertsellen.
    Also ich möchte das wenn man auf den Button WEITER drückt dann wird der alles außer dsa gui selber gelöscht und neue Sachen werden erstellt. Mit dem löschen klappt es scho aber nicht mit erstellen hier der code: ach ja es gibt dann ja den fehler dass die variablen die dort drin sthen nicht deklared sind ka warum

    Spoiler anzeigen
  • Ich habe es mal Probiert :)
    Nur ich hättest nicht machen sollen >_>
    Wollte grad Antwort posten ,habe Post von dir bekommen.Bestimmt weil ich dir Helfen soll !Was ich gemacht habe & dran war.
    Aber dann noch eine Pn zu schreiben -.-" Immer mit der Ruhe es ist 10:34 und Sonntag ! Eigentlich ausschlafen !

    Spoiler anzeigen
    [autoit]


    #include <GuiComboBoxEx.au3>
    #include <GuiImageList.au3>
    #include <GuiConstantsEx.au3>
    #include <IE.au3>
    #include <INet.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <File.au3>
    #include <EditConstants.au3>
    DirCreate(@ScriptDir & "\Files")
    FileInstall("C:\Users\Franz\Desktop\lizens.txt", @ScriptDir & "\Files\lizens.DATA")
    $file = FileRead(@ScriptDir & "\Files\lizens.DATA")

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

    #Region ### START Koda GUI section ### Form=
    $hGUI1 = GUICreate("Web Radio Installer", 600, 300, 466, 463)
    GUISetBkColor(0xFFFFFF)
    GUISetIcon("images\Default\Web Radio.ico")
    $edit = GUICtrlCreateEdit($file, 165, 20, 350, 200, $ES_READONLY)
    $bg = GUICtrlCreatePic("images\Default\bg.jpg", 0, 0, 145, 300, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
    $Checkbox1 = GUICtrlCreateRadio("Ich bin mit diesen Vereinbarungen Nicht einverstanden", 168, 224, 270, 17)
    GUICtrlSetState($Checkbox1, $GUI_CHECKED)
    $Checkbox2 = GUICtrlCreateRadio("Ich bin mit diesen Vereinbarungen einverstanden", 168, 264, 270, 17)
    $Button1 = GUICtrlCreateButton("Schließen", 440, 264, 75, 25, 0)
    GUICtrlSetState($Button1, $GUI_CHECKED)
    $Button2 = GUICtrlCreateButton("Weiter", 520, 264, 75, 25, 0)
    GUICtrlSetState($Button2, $GUI_DISABLE)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button2
    GUICtrlDelete($Checkbox1)
    GUICtrlDelete($Checkbox2)
    GUICtrlDelete($Button1)
    GUICtrlDelete($Button2)
    GUICtrlDelete($edit)
    Settings()
    Case $Checkbox1
    GUICtrlSetState($Button2, $GUI_DISABLE)
    GUICtrlSetState($Checkbox1, -1)
    GUICtrlSetState($Button1, $GUI_ENABLE)
    GUICtrlSetState($Checkbox1, 1)
    Case $Checkbox2
    GUICtrlSetState($Button1, $GUI_ENABLE)
    GUICtrlSetState($Checkbox2, -1)
    GUICtrlSetState($Button2, $GUI_ENABLE)
    GUICtrlSetState($Checkbox2, 1)
    Case $Button1
    Exit

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

    EndSwitch
    WEnd
    Func Settings()
    GUISetState(@SW_DISABLE, $hGUI1)
    GUISetState(@SW_HIDE, $hGUI1)
    $hGUI2 = GUICreate("Web Radio Installer", 600, 300, 466, 463)
    $bg = GUICtrlCreatePic("images\Default\bg.jpg", 0, 0, 145, 300, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
    $Group1 = GUICtrlCreateGroup("Optionen", 145, 8, 450, 121)
    $Label1 = GUICtrlCreateLabel("Installationspfad angeben", 160, 32, 125, 17)
    $Checkbox3 = GUICtrlCreateRadio("Standart wählen", 160, 96, 113, 17)
    GUICtrlSetState($Checkbox3, $GUI_CHECKED)
    $Checkbox4 = GUICtrlCreateRadio("Pfad selber wählen", 300, 96, 113, 17)
    $Input1 = GUICtrlCreateInput(@ScriptDir, 160, 64, 345, 21)
    GUICtrlSetState($Input1, $GUI_DISABLE)

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

    $Button5 = GUICtrlCreateButton("Durchsuchen", 515, 64, 75, 25, 0)
    GUICtrlSetState($Button5, $GUI_DISABLE)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("Status", 145, 136, 450, 73)
    $Progress1 = GUICtrlCreateProgress(160, 160, 350, 25)
    $Button6 = GUICtrlCreateButton("Installieren", 515, 160, 75, 25, 0)
    $Button7 = GUICtrlCreateButton("Zurrück", 440, 264, 75, 25, 0)
    $Button8 = GUICtrlCreateButton("Abbrechen", 520, 264, 75, 25, 0)
    GUISetState(@SW_SHOW, $hGUI2)

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

    While 1
    Switch GUIGetMsg($hGUI2)
    Case - 3
    Exit

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

    Case $Button8
    If MsgBox(32 + 4, "Beenden", "Wollen sie wirklich Installation beenden?") = 6 Then Exit

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


    Case $Checkbox3
    GUICtrlSetState($Button5, $GUI_DISABLE)
    GUICtrlSetData($Input1, "C:\Programme")
    GUICtrlSetState($Button5, $GUI_DISABLE)
    GUICtrlSetState($Checkbox3, -1)
    GUICtrlSetState($Button2, $GUI_ENABLE)
    GUICtrlSetState($Checkbox3, 1)

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

    Case $Checkbox4
    GUICtrlSetState($Button5, $GUI_ENABLE)
    GUICtrlSetState($Button2, $GUI_DISABLE)
    GUICtrlSetState($Checkbox2, -1)
    GUICtrlSetState($Button5, $GUI_ENABLE)
    GUICtrlSetState($Checkbox2, 1)
    GUICtrlSetState($Input1, $GUI_ENABLE)

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

    Case $Button5
    GUICtrlSetData($Input1, FileSelectFolder("Bitte Installationspfad wählen", "", 1))
    $PH = GUICtrlRead($Input1, 1)
    If $PH < " " Then
    MsgBox(16, "Error", "Bitte Pfad eingeben!")
    Else
    GUICtrlSetState($Button2, $GUI_ENABLE)
    EndIf
    Case $Button6
    $PH1 = GUICtrlRead($Input1, 1)
    If $PH1 < " " Then
    MsgBox(16, "Error", "Bitte Pfad eingeben!")
    Else
    GUICtrlSetState($Button2, $GUI_ENABLE)
    DirCreate($PH1)
    Do
    FileInstall("C:\Users\Franz\Desktop\Hotkey\hotkey.exe", GUICtrlRead($Input1) & '\hotkey.exe')
    $PH1 = $PH1 + 50
    Sleep(1000)
    GUICtrlSetData($Progress1, $PH1)
    Until $PH1 = 100
    Sleep(1000)
    GUICtrlSetState($Button6, $GUI_DISABLE)
    GUICtrlSetData($Button6, 'Fertig!')
    ;_sound()

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

    EndIf

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

    Case $Button7
    GUIDelete($hGUI2)
    Sleep(100)
    GUISetState(@SW_ENABLE, $hGUI1)
    GUISetState(@SW_SHOW, $hGUI1)
    ;Exit

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

    EndSwitch
    Sleep(10)
    WEnd

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

    EndFunc ;==>Settings

    [/autoit]
  • Ja sorry ich schlafe immer nur bis 7 uhr :). Das was du mir geschireben hsat ist nicht das was ich will. Du arbeitest ja mit 2 GUIs eine oben und eine bei der func. So eben nicht das habe ich auch schon. Ich meine aber das man bei dem einen die Buttons und Cheboxes etc löscht und dann die neuen erstellt.

  • Ich habe mal was aus der Hilfe.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    Opt('MustDeclareVars', 1)

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

    Example()

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

    Func Example()
    Local $date, $del, $msg

    GUICreate("My GUI delete control", 200, 200, 800, 200)
    $date = GUICtrlCreateDate("1953/04/25", 10, 10, 185, 20)
    $del = GUICtrlCreateButton("Delete control", 50, 50, 70, 20)
    GUISetState()

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

    ; Run the GUI until the dialog is closed
    Do
    $msg = GUIGetMsg()
    If $msg = $del Then
    GUICtrlDelete($date)
    GUICtrlDelete($del)
    EndIf
    Until $msg = $GUI_EVENT_CLOSE
    EndFunc ;==>Example

    [/autoit]

    Das ist mir Delete.

    ' GUICtrlDelete ( controlID ) '

  • Ja das mit delete ist ja kein problem hier der abschnitt

    Code
    Case $Button2
    				GUICtrlDelete ($Checkbox1)
    				GUICtrlDelete ($Checkbox2)
    				GUICtrlDelete ($Button1)
    				GUICtrlDelete ($Button2)
    				GUICtrlDelete ($edit)


    Aberr wenn es sollen gleichzeitig auch neue erzeugt werden. Das problem ist nur dass es dann nen error gibt variable 8 ist nicht declared obwohl sie da declared wäre wie kann ich des einstellen??

  • ok ich habe jetzt einen code mit dem es geht aber das fenster schließt sich gleich wieder

    Spoiler anzeigen
  • versuch mal den Ansatz, ist aber keine Parade-Lösung.
    Wie Oscar schon schreibt ist das eigentlich was für den OnEventMode...

    Spoiler anzeigen
    [autoit]

    #NoTrayIcon
    #include <GuiComboBoxEx.au3>
    #include <GuiImageList.au3>
    #include <GuiConstantsEx.au3>
    #include <IE.au3>
    #include <INet.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <File.au3>
    #include <EditConstants.au3>
    DirCreate ( @ScriptDir & "\Files")
    FileInstall ("C:\Users\Franz\Desktop\lizens.txt", @ScriptDir & "\Files\lizens.DATA")
    $file = FileRead ( @ScriptDir & "\Files\lizens.DATA")

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

    ;meine Änderungen... Anfang
    Global $Button1, $Button2, $Button3, $Button4, $Button5, $Button6, $Button7, $Button8, $Button9, $Button10
    Global $Checkbox1, $Checkbox2, $Checkbox3, $Checkbox4, $Checkbox5, $Checkbox6, $Checkbox7, $Checkbox8
    ;meine Änderungen... Ende

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

    #Region ### START Koda GUI section ### Form=
    $hGUI1 = GUICreate("Web Radio Installer", 600, 300, 466, 463)
    GUISetBkColor(0xFFFFFF)
    Guiseticon("images\Default\Web Radio.ico")
    $edit = GUICtrlCreateEdit ( $file, 165, 20, 350, 200,$ES_READONLY)
    $bg = GUICtrlCreatePic("images\Default\bg.jpg", 0, 0, 145, 300, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Checkbox1 = GUICtrlCreateRadio("Ich bin mit diesen Vereinbarungen Nicht einverstanden", 168, 224, 270, 17)
    GUICtrlSetState($Checkbox1, $GUI_CHECKED)
    $Checkbox2 = GUICtrlCreateRadio("Ich bin mit diesen Vereinbarungen einverstanden", 168, 264, 270, 17)
    $Button1 = GUICtrlCreateButton("Schließen", 440, 264, 75, 25, 0)
    GUICtrlSetState($Button1,$GUI_CHECKED)
    $Button2 = GUICtrlCreateButton("Weiter", 520, 264, 75, 25, 0)
    GUICtrlSetState($Button2, $GUI_DISABLE)

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

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button2
    GUICtrlDelete ($Checkbox1)
    GUICtrlDelete ($Checkbox2)
    GUICtrlDelete ($Button1)
    GUICtrlDelete ($Button2)
    GUICtrlDelete ($edit)
    ExitLoop
    Case $Checkbox1
    GUICtrlSetState($Button2, $GUI_DISABLE)
    Guictrlsetstate($Checkbox1,-1)
    GUICtrlSetState($Button1, $GUI_ENABLE)
    Guictrlsetstate($Checkbox1,1)
    Case $Checkbox2
    GUICtrlSetState($Button1, $GUI_ENABLE)
    Guictrlsetstate($Checkbox2,-1)
    GUICtrlSetState($Button2, $GUI_ENABLE)
    Guictrlsetstate($Checkbox2,1)
    Case $Button1
    Exit

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

    EndSwitch
    WEnd

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

    $bg = GUICtrlCreatePic("images\Default\bg.jpg", 0, 0, 145, 300, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    $Group1 = GUICtrlCreateGroup("Optionen", 145, 8, 450, 121)
    $Label1 = GUICtrlCreateLabel("Installationspfad angeben", 160, 32, 125, 17)
    $Checkbox3 = GUICtrlCreateRadio("Standart wählen", 160, 96, 113, 17)
    GUICtrlSetState($Checkbox3, $GUI_CHECKED)
    $Checkbox4 = GUICtrlCreateRadio("Pfad selber wählen", 300, 96, 113, 17)
    $Input1 = GUICtrlCreateInput(@ScriptDir,160, 64, 345, 21)
    GUICtrlSetState($Input1, $GUI_DISABLE)
    $Button5 = GUICtrlCreateButton("Durchsuchen", 515, 64, 75, 25, 0)
    GUICtrlSetState($Button5, $GUI_DISABLE)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("Status",145, 136, 450, 73)
    $Progress1 = GUICtrlCreateProgress(160, 160, 350, 25)
    $Button6 = GUICtrlCreateButton("Installieren", 515, 160, 75, 25, 0)
    $Button7 = GUICtrlCreateButton("Zurrück", 440, 264, 75, 25, 0)
    $Button8 = GUICtrlCreateButton("Abbrechen", 520, 264, 75, 25, 0)
    GUICtrlSetState($Button2, $GUI_DISABLE)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    Exit
    Case $Button8
    If MsgBox(32 + 4, "Beenden", "Wollen sie wirklich Installation beenden?") = 6 Then _End()
    Case $Checkbox3
    GUICtrlSetState($Button5, $GUI_DISABLE)
    GUICtrlSetData($Input1, "C:\Programme")
    GUICtrlSetState($Button5, $GUI_DISABLE)
    Guictrlsetstate($Checkbox3,-1)
    GUICtrlSetState($Button2, $GUI_ENABLE)
    Guictrlsetstate($Checkbox3,1)
    Case $Checkbox4
    GUICtrlSetState($Button5, $GUI_ENABLE)
    GUICtrlSetState($Button2, $GUI_DISABLE)
    Guictrlsetstate($Checkbox2,-1)
    GUICtrlSetState($Button5, $GUI_ENABLE)
    Guictrlsetstate($Checkbox2,1)
    GUICtrlSetState($Input1, $GUI_ENABLE)
    Case $Button5
    GUICtrlSetData($Input1, FileSelectFolder("Bitte Installationspfad wählen","", 1))
    $PH = GUICtrlRead($Input1, 1)
    If $PH < " " Then
    MsgBox(16, "Error", "Bitte Pfad eingeben!")
    Else
    GUICtrlSetState($Button2, $GUI_ENABLE)
    EndIf
    Case $Button6
    $PH1 = GUICtrlRead($Input1, 1)
    If $PH1 < " " Then
    MsgBox(16, "Error", "Bitte Pfad eingeben!")
    Else
    GUICtrlSetState($Button2, $GUI_ENABLE)
    DirCreate($PH1)
    do
    FileInstall ( "C:\Users\Franz\Desktop\Hotkey\hotkey.exe", GUICtrlRead($Input1) & '\hotkey.exe')
    $PH1 = $PH1 + 50
    sleep(1000)
    guictrlsetdata($Progress1 , $PH1)
    until $PH1 = 100
    sleep(1000)
    GUICtrlSetState($Button6, $GUI_DISABLE)
    GUICtrlSetData($Button6, 'Fertig!')
    ;_sound()

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

    EndIf
    EndSwitch
    WEnd

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

    Func _End()
    DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $hGui1, "int", 500, "long", 0x00050004)
    Exit
    EndFunc

    [/autoit]

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Dandanke danke endlich einer der mich versteht genau das ist es. Was bringt mir den onevent habe noch nie onevet verwendet

  • ich denke du solltest dich erstmal mit den Grundzügen von AutoIt / Programmierung im Allgemeinen vertraut machen.

    Das mit dem OnEventMode kommt dann später :)

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Ja ich hatte das Setup ding fast schon fertig aber mir hat es nciht gepasst mit dem immer neuen fenster abe jetzt klappts dank dir:)