Wie komme ich zurück ?

  • Hallo Gemeinde,

    ich hoffe ich werde nicht gleich erschlagen wenn ich jetzt mit so einer (für euch ) doofen Anfänger frage komme. (Ich finde aber irgendwie nicht die Lösung)

    Folgendes: Ich hab mir ein Fenster gebaut, links ein paar Button's die rechts ein Child Fenster öffnen mit etwas darin.

    Sobald ich nun einen Button links klicke, bin ich im Child in einer Schleife. Die Schleife ist nötig, ich muss ja was tun. Ich komme aus der Schleife nicht ohne ExitLoop raus.

    Nun meine Frage, was muß ich tun, damit ich im Menü links weiter klicken kann ohne im Child Fenster einen Button zu drücken?

    Spoiler anzeigen


    #include <StaticConstants.au3>

    #include <GUIConstantsEx.au3>

    #include <WindowsConstants.au3>

    #Include <GuiButton.au3>

    #include <DateTimeConstants.au3>

    #include <EditConstants.au3>

    #include <WinAPIFiles.au3>

    #include <Array.au3>

    #include <File.au3>

    #include <MsgBoxConstants.au3>

    #Region

    ;----------- Hauptfenster deninieren ----------------------------------------

    Global $MainGui = GUICreate("StreamGui",1200,950,-1,-1,-1,-1)

    GUICtrlSetTip(-1,"Dux Dateien vom Entwicklungsserver zum Testserver kopieren")

    ;----------- Definition der Menübuttons -------------------------------------

    Global $BtnDuxKopie = GUICtrlCreateButton("Dux Kopie",21,187,100,30,-1,-1)

    _GUICtrlButton_SetFocus ( $BtnDuxKopie, $BST_INDETERMINATE = True)

    GUICtrlSetTip(-1,"Dux Dateien kopieren")

    Global $BtnOverlayLxf = GUICtrlCreateButton("Overlay lxf",21,247,100,30,-1,-1)

    _GUICtrlButton_SetFocus($BtnOverlayLxf)

    GUICtrlSetTip(-1,"Overlay's mit Endung .lxf kopieren")

    Global $BtnOverlayTab = GUICtrlCreateButton("Overlay .tab",21,307,100,30,-1,-1)

    GUICtrlSetTip(-1,"Overlay's mit Endung .tab kopieren")

    _GUICtrlButton_SetFocus($BtnOverlayTab)

    Global $BtnLanguage = GUICtrlCreateButton("Language",21,367,100,30,-1,-1)

    GUICtrlSetTip(-1,"Language.sls kopieren.")

    Global $BtnFunktionFile = GUICtrlCreateButton("Funnktion File",21,427,100,30,-1,-1)

    GUICtrlSetTip(-1,"Funktion Fieles auswählen und kopieren.")

    Global $BtnLogDatei = GUICtrlCreateButton("Logdateien",21,607,100,30,-1,-1)

    GUICtrlSetTip(-1,"Logdateien prüfen, sehen ob alles richtig gelaufen ist.")

    Global $BtnEinstellungen = GUICtrlCreateButton("Einstellungen",21,664,100,30,-1,-1)

    GUICtrlSetTip(-1,"Die Programm Einstellungen prüfen oder ändern.")

    Global $BtnEnde = GUICtrlCreateButton("Ende",21,778,100,30,-1,-1)

    GUICtrlSetTip(-1,"Programm beenden.")

    ;---------------Kopfzeilen definieren ------------------------------------------

    GUICtrlCreateLabel("StreamServ Entwicklung nach Test.",380,30,331,47,-1,-1)

    GUICtrlSetFont(-1,15,400,0,"MS Sans Serif")

    GUICtrlSetBkColor(-1,"-2")

    $RFC_Nr = GUICtrlCreateInput("20",510,100,150,20,-1,$WS_EX_CLIENTEDGE)

    GUICtrlSetFont(-1,10,400,0,"MS Sans Serif")

    GUICtrlSetTip(-1,"Geben Sie bitte die RFC Nummer ein.")

    GUICtrlCreateLabel("RFC Nr.:",428,104,68,20,-1,-1)

    GUICtrlSetFont(-1,10,700,0,"MS Sans Serif")

    GUICtrlSetBkColor(-1,"-2")

    GUICtrlCreateLabel("Programmierer:",380,140,116,24,-1,-1)

    GUICtrlSetFont(-1,10,700,0,"MS Sans Serif")

    GUICtrlSetBkColor(-1,"-2")

    $Programmierer = GUICtrlCreateInput("",510,140,150,20,-1,$WS_EX_CLIENTEDGE)

    GUICtrlSetFont(-1,10,400,0,"MS Sans Serif")

    GUICtrlSetTip(-1,"Geben Sie bitte den Namen des Programmieres ein.")

    GUICtrlCreateLabel("Datum:",442,185,50,15,-1,-1)

    GUICtrlSetFont(-1,10,700,0,"MS Sans Serif")

    GUICtrlSetBkColor(-1,"-2")

    GUICtrlCreateDate("Saturday, 1. January 2011",510,179,186,21,-1,-1)

    $Notizen = GUICtrlCreateInput("",835,100,236,105,-1,$WS_EX_CLIENTEDGE)

    GUICtrlCreateLabel("Notitzen:",760,100,60,15,-1,-1)

    GUICtrlSetFont(-1,10,700,0,"MS Sans Serif")

    GUICtrlSetBkColor(-1,"-2")

    GUICtrlCreateLabel("Sie sind angemeldet als: " & @UserName ,760,50,400)

    GUICtrlSetFont(-1,10,700,0,"MS Sans Serif")

    GUICtrlSetBkColor(-1,"-2")

    GUISetState(@SW_SHOW)

    Global $ChildBreite = 1000

    Global $ChildHoehe = 700

    #EndRegion

    ;---------------Programm start ------------------------------------------

    While 1

    $nMsg = GUIGetMsg()

    Switch $nMsg

    Case $GUI_EVENT_CLOSE

    ExitLoop

    ;======================================================================================================================================

    ; DUX Dateien kopieren

    ;======================================================================================================================================

    Case $BtnDuxKopie

    $DuxGUI = GUICreate("", $ChildBreite, $ChildHoehe, 170, 220, BitOR($WS_POPUP, $WS_BORDER), $WS_EX_TOPMOST)

    GUISetBkColor(0xfffaf0, $DuxGUI)

    $BtnKopieOk = GUICtrlCreateButton("Kopie", 800, 500, 90, 20)

    $BtnKopieCancel = GUICtrlCreateButton("Cancel", 800, 600, 90, 20)

    GUISetState(@SW_SHOW, $DuxGUI)

    DllCall("user32.dll", "int", "SetParent", "hwnd", WinGetHandle($DuxGUI), "hwnd", WinGetHandle($MainGui))

    GUICtrlCreateLabel("Dux File.:",260,100,70,20,-1,-1)

    GUICtrlSetFont(-1,10,700,0,"MS Sans Serif")

    GUICtrlSetBkColor(-1,"-2")

    $DuxDatei = GUICtrlCreateInput("",340,100,150,20,-1,$WS_EX_CLIENTEDGE)

    $EingabeFile = GUICtrlRead(26)

    While 1

    $nMsg = GUIGetMsg()

    switch $nMsg

    Case $BtnKopieOk

    $DevDuxPath = IniRead("Settings.ini", "pfade", "Dev_Dux","" )

    $DevEventPath = IniRead("Settings.ini", "pfade", "Dev_Event","" )

    $DevProcessPath = IniRead("Settings.ini", "pfade", "Dev_Process","" )

    Local $aFileList = _FileListToArray($DevDuxPath, $EingabeFile)

    If @error = 1 Then

    MsgBox($MB_SYSTEMMODAL, "Fehler 1", "Path was invalid.")

    ExitLoop

    EndIf

    If @error = 4 Then

    MsgBox($MB_SYSTEMMODAL, "Fehler 4", $DevDuxPath & $EingabeFile)

    ExitLoop

    EndIf

    ; Display the results returned by _FileListToArray.

    _ArrayDisplay($aFileList, "$aFileList")

    ExitLoop

    Case $BtnKopieCancel

    ExitLoop

    EndSwitch

    WEnd


    ;======================================================================================================================================

    ; Overlay LXF Dateien kopieren

    ;======================================================================================================================================

    Case $BtnOverlayLxf

    $OverlayLxfGui = GUICreate("", $ChildBreite, $ChildHoehe, 170, 220, BitOR($WS_POPUP, $WS_BORDER), $WS_EX_TOPMOST)

    GUISetBkColor(0xfffaf0, $OverlayLxfGui)

    $BtnCancel = GUICtrlCreateButton("Cancel", 800, 500, 90, 20)

    $BtnLxfAusw = GUICtrlCreateButton("Dateien", 400, 300, 90, 20)

    $BtnOk = GUICtrlCreateButton("OK", 700, 500, 90, 20)

    GUISetState(@SW_SHOW, $OverlayLxfGui)

    DllCall("user32.dll", "int", "SetParent", "hwnd", WinGetHandle($OverlayLxfGui), "hwnd", WinGetHandle($MainGui))

    GUICtrlCreateLabel("Overlay Dateien Kopieren.",260,100,300,20,-1,-1)

    GUICtrlSetFont(-1,10,700,0,"MS Sans Serif")

    GUICtrLCreateLabel("Klicken Sie auf den Button Datein, im darauf folgenden Fenster wählen Sie die zu übernehmenden Datein aus.", 260, 140)

    GUICtrLCreateLabel("Drücken Sie danach auf den OK Butten, anschließend werden die ausgeählten Dateien noch einmal angezeigt.", 260, 160)

    GUICtrlCreateLabel("Ein weitere Klick auf OK erstellt eine Sicherungskopie der Orginaldatein und kopiert die Dateien auf den TestServer.", 260, 180)

    GUICtrlSetBkColor(-1,"-2")

    EndSwitch

    WEnd

    #cs

    While 1

    $aMsg = GUIGetMsg()

    Switch $aMsg

    Case $BtnLxfAusw

    ; Create a constant variable in Local scope of the message to display in FileOpenDialog.

    Local $sMessage = "Um mehrere Dateien auszuwählen, die Taste [Strg] oder [Shift] gedrückt halten."

    ; Display an open dialog to select a list of file(s).

    Local $sFileOpenDialog = FileOpenDialog($sMessage, @WindowsDir & "\", "Images (*.jpg;*.bmp; *.*)|Videos (*.avi;*.mpg)", BitOR($FD_FILEMUSTEXIST, $FD_MULTISELECT))

    If @error Then

    ; Display the error message.

    MsgBox($MB_SYSTEMMODAL, "", "Sie haben keine Datei ausgewählt.")

    ExitLoop

    Else

    ; Replace instances of "|" with @CRLF in the string returned by FileOpenDialog.

    $sFileOpenDialog = StringReplace($sFileOpenDialog, "|", @CRLF)

    ; Display the list of selected files.

    MsgBox(0, "", "Sie haben folgende Dateien ausgewählt:" & @CRLF & $sFileOpenDialog)

    ExitLoop

    EndIf

    ; KopieLxf()

    Case $BtnCancel

    ExitLoop

    MsgBox(0, "", "raus oder nicht")

    Case $BtnDuxKopie

    ExitLoop

    Case $BtnLanguage

    ExitLoop

    EndSwitch

    WEnd

    #ce

    Vielen Dank in der Hoffnun das ich nicht gesteinigt werde :ironie:

    Ja, ich weiß es auch, das Problem ist einen halben Meter vor dem Bildschirm. 8o

  • Nicht schön, aber fast gar keine Arbeit beim ändern. Die Änderung ist einfach ein Funktionsaufruf..
    PS: Benutze vielleicht SciTE oder ISN zum coden. Dann kannst du dir den Code einfach formartieren lassen.

    Spoiler anzeigen

    Grüße autoiter

  • Guten Morgen und erst mal vielen Dank für die schnellen informativen Antworten.

    GuiGetMsg werde ich mir gleich mal genau ansehen.

    autoiter

    sorry für die Formatierung, ist wohl beim einfügen in den Spoiler passiert, mein Code sieht im allgemeinen nicht so unformatiert aus. Eigentlich so:

    Spoiler anzeigen

    okey, immer noch nicht schön aber zumindest übersichtlicher. :)

    Und ja, ich nutze ISN. An dieser Stelle noch einen Dank an den Autor von ISN.


    Nachtrag:

    Nun hab ich es geschaft, das mit den Fenstern funtioniert so wie ich das haben wollte.

    Vielen Dank nochmal für die Hilfe!

    :party:

    Ja, ich weiß es auch, das Problem ist einen halben Meter vor dem Bildschirm. 8o

    Einmal editiert, zuletzt von Mr-Ferret (9. August 2019 um 11:27)