Hallo,
wie im Beispiel zu sehen ist, habe ich ein Hauptfenster, welches es beim Klick auf den "Button 0" ein Kindfenster aufrufen soll (benutzerdefinierte Message Box).
Das Kindfenster soll (optional) im Vordergrund bleiben, bis es geschlossen wird. Wie kann ich das realisieren?
Wenn ich auf den Button "Ende" bzw. das x im Messagebox-Fenster klicke, soll nur das Messagebox-Fenster geschlossen werden, ohne dass das Hauptfenster geschlossen wird.
Was muss ich im Script ändern, damit das funktioniert?
Welche besseren Möglichkeiten gibt es, von einem Hauptfenster eine benutzerdefinierte, positionierbare Messagebox zu erstellen, ohne den msgbox Befehl zu benutzen?
#include <GUIConstantsEx.au3>
MainGUI()
Func MainGUI()
Local $Button0, $msg0
GUICreate("Hauptfenster", 800, 600)
Opt("GUICoordMode", 2)
$Button0 = GUICtrlCreateButton("Button 0", 10, 30, 90, 50)
GUISetState()
While 1
$msg0 = GUIGetMsg()
Select
Case $msg0 = $GUI_EVENT_CLOSE
ExitLoop
Case $msg0 = $Button0 ; hier wird das Messagebox Fenster aufgerufen
ButtonGUI()
EndSelect
WEnd
EndFunc
Func ButtonGUI()
Local $Button1, $Button2, $Button3, $Button4, $msg2
GUICreate("Messagebox", 400, 200)
Opt("GUICoordMode", 2)
$Button1 = GUICtrlCreateButton("Button 1", 10, 30, 90, 50)
$Button2 = GUICtrlCreateButton("Button 2", 0, -1)
$Button3 = GUICtrlCreateButton("Button 3", 0, -1)
$Button4 = GUICtrlCreateButton("Ende", 0, -1)
GUISetState()
While 1
$msg2 = GUIGetMsg()
Select
Case $msg2 = $GUI_EVENT_CLOSE
ExitLoop
Case $msg2 = $Button1
MsgBox(0, 'Button 1', 'Button 1 was pressed')
Case $msg2 = $Button2
MsgBox(0, 'Button 2', 'Button 2 was pressed')
Case $msg2 = $Button3
MsgBox(0, 'Button 3', 'Button 3 was pressed')
Case $msg2 = $Button4
WinClose("[ACTIVE]") ; so funktioniert das nicht
EndSelect
WEnd
EndFunc
Alles anzeigen
Übrigens - unabhängig von obigem Script - gibt es einen Trick, ein msgbox Fenster zu positionieren, so dass es nicht mittig angezeigt wird?
Danke