Hey. Die Idee hatte ich auch. Traute mich nicht die umzusetzen, weil ich der festen Überzeugung war, das man den Parameter nur einmalig setzen kann.
Ich werde es mal testen, und gebe dann bescheid. Kann eine Weile dauern. Bin wieder durch ein Projekt blockiert.
MfG
Beiträge von AlexP
-
-
Sorry, wurde zwischenzeitlich für andere Projekte eingesetzt.
Warum ich in der $gui2 erneut eine Schleife eingebaut habe, liegt an folgenden Tatsachen.
In der $gui1 erhalte ich Informationen, die ich erst nach der Bestätigung durch "OK1" Auswerten kann. Abhängig von den Informationen, wird entschieden, ob ich in die $gui2 springe. Wenn „ja“, dann kann ich die Informationen aus der Quelle, die in der $gui1 eingegeben wurde, abrufen und auswerten.
Diese Ausgewerteten Informationen füge ich anschließende als Radio-Button zur Auswahl in der $gui2 ein. Der User muss eine Auswahl treffen und diese mit „OK2“ bestätigen.
Wichtig für mich ist, dass das Skript solange warten sollte, bis ich die Auswahl in $gui2 getroffen habe und dann mit dem weiteren Maßnahmen fortfahren.
Toll währe es, wenn die $gui2 sich verhält wie "MsgBox" oder "Inputbox". Dann würde es laufen.
Ich muss aber eine variable Anzahl an Radio-Button's in dem Fenster bereitstellen.Was Bioshade vorgeschlagen hat klingt richtig, kann es aber in meiner Original-Quellcode nicht anwenden.
Hat jemand eine andere Idee? -
Hallo,
zunächst ist das Skript im "Opt("GUIOnEventMode", 1)" geschrieben.
Eine While-Schleife brauche ich schon.
Ich habe jetzt die Funktion "warten()" ausgebaut.
Die Befehlen "GUISetState(@SW_DISABLE, $gui1)" & "GUISetState(@SW_ENABLE, $gui1)" helfen da nicht weiter.Ziel ist, dass nach dem drücken des "OK2"-Button auch die dahinterstehende Funktion ausgeführt wird.
Und du darfst mich auch Alex nennen.
C
Alles anzeigen#include <GUIConstants.au3> #include <GUIConstantsEx.au3> global $gui1 global $gui2 Global $okbutton1 Global $okbutton2 Opt("GUIOnEventMode", 1) ; Wechsle in den OnEvent Modus $gui1 = GUICreate("GUI 1", 400, 100) GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked") $okbutton1 = GUICtrlCreateButton("OK1", 270, 50, 60) GUICtrlSetOnEvent($okbutton1, "OKButton1") GUIsetState (@SW_SHOW,$gui1) While 1 Sleep(1000) WEnd Func zweitegui() $gui2 = GUICreate ("GUI 2" ,100,150) GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked") $okbutton2 = GUICtrlCreateButton("OK2", 20, 50, 60) GUICtrlSetOnEvent($okbutton2, "OKButton2") GUISetState(@SW_SHOW, $gui2) While 1 Sleep(1000) WEnd EndFunc Func OKButton1() MsgBox(0, "GUI Event", "Du hast auf OK1 geklickt!") zweitegui() EndFunc Func OKButton2() MsgBox(0, "GUI Event", "Du hast auf OK2 geklickt!") GUISetState(@SW_HIDE,$gui2) EndFunc Func CLOSEClicked() MsgBox(0, "GUI Event", "Du hast auf CLOSE geklickt! Programm wird beendet...") Exit EndFunc
-
Hallo,
ich bin auf ein dummes Problem gestoßen in der Programmierung mit Autoit. Da mein Ursprünglicher Programmcode den Rahmen sprengen würde, habe ich das Problem vereinfacht zusammengestampft.
Aufgabe: ich habe ein Gui, in der ich mehrere Aktionen durchführen kann. Anschließend bestätige ich die Einstellungen (Die Einstellungen sind nicht im diesem Code enthalten) und drücke auf OK1. Abhängig von den Einstellungen wird eine zweite Gui erstellt (in diesem Fall lass ich gleich das Programm da rein laufen).
Da können weiter Optionen ausgewählt werden (die ich hier nicht im Code eingebettet habe).
Aber das OK2 reagiert nicht auf„GUICtrlSetOnEvent“.
Was mache ich da falsch?