Hallo zusammen,
ich habe ein Anfängerproblem mit GUIs.
Ich nutze zu Beginn meines Programms ein GUI als Infofenster. Im späteren Verlauf öffne ich ein weiteres GUI, um eine Auswahl zu treffen. Das zweite GUI funktioniert fehlerfrei in einer eigenständigen Datei, auch wenn ich es in eine Funktion einbaue um es aufzurufen. Im Programm (Verwendung der gleichen Funk.) wird aber nur der Hintergrund dargestellt, die Auswahlelemente fehlen, es werden jedoch die vorausgewählten Werte übertragen!!??
ich vermute das erste GUI ist quasi noch aktiv, wie kann ich es endgültig "beenden"??
Folgendes hat nicht geklappt:
While 1 ; MessageBox zur Info bei Beenden von GUI 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then
GuiSetState(@SW_DISABLE)
GUIDelete()
ExitLoop
EndIf
Wend
ebensowenig erfolgreich zu Beginn von GUI 2:
GuiSetState(@SW_UNLOCK)
GuiSetState(@SW_SHOW)
wer kann helfen??
Spoiler anzeigen
#include <GuiConstantsEx.au3>
#include <GUIConstants.au3>
HotKeySet ("g","gui")
[/autoit] [autoit][/autoit] [autoit]Global $character[5], $channel[5], $cha, $fig
[/autoit] [autoit][/autoit] [autoit]; Beginn GUI 1 ###########################
GUICreate("Helper",220,240) ; will create a dialog box that when displayed is centered
Opt("GUICoordMode",2)
$laenge = 200
$hoehe = 20
GUICtrlCreateLabel (......... >>> SKRIPT GEKÜRZT <<<<
............
GUICtrlCreateLabel ("Login : Strg - l", -$laenge, 0, $laenge, $hoehe)
GUISetState ()
While 1 ; MessageBox zur Info
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then
GuiSetState(@SW_DISABLE)
GUIDelete()
ExitLoop
EndIf
Wend
; Ende GUI 1 ###########################
While (1) ; Hauptschleife Helper
Sleep(1000) ; Überprüft jede Sekunde ob Hotkeys benutzt wurden
WEnd ; Schließt die Schleife ab
Func gui () ; Anfang GUI 2
GuiCreate(" ", 400, 400) ; GUI
GuiSetIcon("leer.ico", 0)
GuiCtrlSetColor(-1,0xffffff)
GuiCtrlCreatePic("header.jpg",10,10, 380,100) ; PIC
GuiCtrlCreateGroup("Character - Auswahl", 10, 120, 185, 110) ;; GROUP WITH RADIO BUTTONS
$gr_xpos = 30
$gr_ypos = 140
$gr_deltay = 20
$character[1] = GuiCtrlCreateRadio("1", $gr_xpos, $gr_ypos, 80)
GuiCtrlSetState(-1, $GUI_CHECKED)
$character[2] = GuiCtrlCreateRadio("2", $gr_xpos, $gr_ypos+$gr_deltay, 80)
$character[3] = GuiCtrlCreateRadio("3", $gr_xpos, $gr_ypos+2*$gr_deltay, 80)
$character[4] = GuiCtrlCreateRadio("4", $gr_xpos, $gr_ypos+3*$gr_deltay, 80)
GUICtrlCreateGroup ("",-99,-99,1,1) ;close group
GuiCtrlCreateGroup("Startchannel - Auswahl", 205, 120, 185, 110) ;; GROUP WITH RADIO BUTTONS
$gr_xpos = 225
$gr_ypos = 140
$gr_deltay = 20
$channel[1] = GuiCtrlCreateRadio("Channel 1", $gr_xpos, $gr_ypos, 80)
$channel[2] = GuiCtrlCreateRadio("Channel 2", $gr_xpos, $gr_ypos+$gr_deltay, 80)
$channel[3] = GuiCtrlCreateRadio("Channel 3", $gr_xpos, $gr_ypos+2*$gr_deltay, 80)
GuiCtrlSetState(-1, $GUI_CHECKED)
$channel[4] = GuiCtrlCreateRadio("Channel 4", $gr_xpos, $gr_ypos+3*$gr_deltay, 80)
GUICtrlCreateGroup ("",-99,-99,1,1) ;close group
$endbutton = GuiCtrlCreateButton("... weiter", 10, 330, 100, 30) ; BUTTON
GuiSetState(@SW_UNLOCK)
GuiSetState(@SW_SHOW)
While (1) ; GUI MESSAGE LOOP
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then
ausgabe ()
GuiSetState(@SW_DISABLE)
GUIDelete ()
ExitLoop
EndIf
If $msg = $endbutton Then
ausgabe ()
GuiSetState(@SW_DISABLE)
GUIDelete ()
ExitLoop
EndIf
WEnd
EndFunc
Func ausgabe ()
for $i = 1 to 4
$zwi1 = GUICtrlRead($character[$i])
$zwi2 = GUICtrlRead($channel[$i])
if $zwi1 = 1 Then
$fig = $i
EndIf
if $zwi2 = 1 Then
$cha = $i
EndIf
Next
MsgBox ( 1, "Gewählt wurde :", $fig & "---" & $cha )
EndFunc