GUI-Fenster schließen - akt. Tutorial?

  • Hallo

    Nach Jahren wollt ich wieder mal was mit AutoIt machen, aber weil ich fast alles vergessen hatte, musste ich nachlesen - Buch "AutoIt leicht gemacht".

    Und weil meine (ausgedruckte) Version von 2010 ist und es für Kapitel 5-8, ab Seite 61 nur ein Inhaltsverzeichnis gibt, hab ich gedacht, ich hol mir eine aktuelle Version -

    Buch - AutoIt.de - Das deutschsprachige Forum.
    Hallo,Ich habe unter http://web.slzm.de/blog/programmieren/autoit-leicht-gemacht/ den ersten Teil eines Buches über AutoIt veröffentlicht. Dort gibt es ein…
    autoit.de

    bzw.

    https://autoit.de/wcf/index.php?attachment/78306-autoit-leicht-gemacht-pdf

    Aber leider gibts diese Kapitel anscheinend auch in der aktuellen(?) Version nicht.

    Weiß da jemand näheres? Mich hätte jetzt gerade der GUI-Bereich interessiert, mir in "6.1.3 GUIs mit mehreren Fenstern" Informationen erhofft.

    Dazu hätte ich auch noch eine Frage:

    Mit GUISetState kann ich ja ein Fenster anzeigen (@SW_SHOW), deaktivieren, minimieren und, und, ...

    Aber kann ich auch ein Fenster(1) schließen - (@SW_close ?) - nachdem dessen Aufgabe erledigt ist - und in weiterer Folge Fenster(2, 3, ..) benutzt wird?

    Schöne Grüße,
    entsel
    AutoLisp(eln) geht ganz gut, aber AutoIt nur mit Dictionary. 
    Das Problem - man sollte wissen, welche Vokabel man sucht.

  • Danke Euch!

    GuiDelete($hGui) hatte ich noch nicht entdeckt - dürfte aber das tun, was ich mir vorgestellt hab, werds dann mal testen.

    Exit ? - da hab ich wohl zu ungenau formuliert - ich will nur das 1. GUI-Fenster schließen, nicht das Script schließen, dann das 2. GUI-Fenster aufrufen ....

    Schöne Grüße,
    entsel
    AutoLisp(eln) geht ganz gut, aber AutoIt nur mit Dictionary. 
    Das Problem - man sollte wissen, welche Vokabel man sucht.

  • GuiDelete($hGui) hab ich jetzt ausprobiert - mache aber wahrscheinlich was falsch, denn das Script geht dann immer in eine Art Standby-Modus - in der Konsole steht dann "... Press Ctrl+Alt+Break to Restart or Ctrl+Break to Stop".

    Ich würds ja auch mit GUISetState (@SW_HIDE) verstecken, aber was ist mit den Controls / Bezeichnungen - (wenn das Fenster 1 noch "lebt"). Kann man die in den weiteren Fenstern X (entsprechen zu 90% dem Fenster 1) wieder verwenden.

    Da wäre halt mehr Wissen gefragt, (um z.B. ein Fenster immer wieder mit neuen Daten füllen) daher siehe oben - GUI-Tutorial? - kennt da jemand was?

    Schöne Grüße,
    entsel
    AutoLisp(eln) geht ganz gut, aber AutoIt nur mit Dictionary. 
    Das Problem - man sollte wissen, welche Vokabel man sucht.

  • Das Script?

    So kann man das wohl noch nicht bezeichnen - das sind ein paar 100 Zeilen Herumprobiererei - z.T. ohne Zusammenhang, Funktionen in mehreren Varianten und dgl.

    Das zu studieren will ich niemandem zumuten.

    Ich bin sozusagen in einer Erkundungsphase - testen, ob/wie was möglich ist ...

    In der Möglichkeit, ein Fenster zu schließen, hätte ich für mich einen Weg gesehen, um auszuschließen, dass es zu Konfrontationen mit anderen Fenstern kommt.

    Drum auch die Frage nach Infos bezüglich GUIs.

    Schöne Grüße,
    entsel
    AutoLisp(eln) geht ganz gut, aber AutoIt nur mit Dictionary. 
    Das Problem - man sollte wissen, welche Vokabel man sucht.

  • In der Möglichkeit, ein Fenster zu schließen, hätte ich für mich einen Weg gesehen, um auszuschließen, dass es zu Konfrontationen mit anderen Fenstern kommt.

    Hier mal ein kleines Beispiel mit 2 Fenstern (im Label wird die ganze Zeit die Uhrzeit angezeigt):

    Edit:

    Und hier das gleiche Beispiel, nur dieses Mal im OnEvent-Modus (IMHO ist dieser Modus übersichtlicher, als der MessageLoop-Modus):

  • Also ich habe mein GUI so aufgebaut, dass alle Unterfenster im gleichen GUI angezeigt werden. Dazu hab ich ein Main-GUI erstellt, in dem nur die Fenstergröße definiert ist, außerdem ist dort das Datei-Menü drin. Dann hab ich ein GUI erstellt, was beim ersten Laden des GUIs mitgeladen wird (Startseite quasi). Wenn ich einen Menüpunkt anwähle, wird das Start-GUI ausgeblendet und das neue GUI eingeblendet.

    Vielleicht hilft das ja!?