Hallo ich bin grade ein Tool am bauen und möchte das er ein 2 GUI erstellt wenn mann ein Button Drück und wenn man das kleinere Gui schließt nicht alles beenden wird kann mit da jemand weiter helfen ?
Autoit 2 Gui erstellen und Schliessen
-
- [ gelöst ]
-
Unterbilker -
27. Januar 2010 um 16:11 -
Geschlossen -
Erledigt
-
-
Zauberwort: Advanced GUIGetMsg-Mode
[autoit]#include <GUIConstantsEx.au3>
[/autoit][autoit][/autoit][autoit]
$gui1 = GUICreate('GUI 1', 500, 300, 100, 100)
$button1 = GUICtrlCreateButton('Aufruf GUI 2', 20, 20, 100, 21)$gui2 = GUICreate('GUI 2', 500, 300, 500, 500)
[/autoit][autoit][/autoit][autoit]
$button2 = GUICtrlCreateButton('Zurück zu GUI 1', 20, 20, 100, 21)GUISetState(@SW_SHOW, $gui1)
[/autoit][autoit][/autoit][autoit]While 1
[/autoit]
$msg = GUIGetMsg(1) ; Advanced GUIGetMsg()-Mode (s. Hilfe)
Switch $msg[0] ; Ereignis
Case $button1
GUISetState(@SW_SHOW, $gui2)
GUISetState(@SW_HIDE, $gui1)
Case $button2
GUISetState(@SW_SHOW, $gui1)
GUISetState(@SW_HIDE, $gui2)
Case $GUI_EVENT_CLOSE
Switch $msg[1] ; Fenster
Case $gui2
GUISetState(@SW_SHOW, $gui1)
GUISetState(@SW_HIDE, $gui2)
Case $gui1
Exit
EndSwitch
EndSwitch
WEnd -
mhm so ganz verstehe ich das nicht ich habe hier mal das tool aber wenn ich den button drücke passirt nix
[autoit]#include <IE.au3>#include <INet.au3>#include <GUIConstantsEx.au3>
[/autoit][autoit][/autoit][autoit]
Global $toolname = "Aion-LauncherV1.1.exe"
$online = _INetGetSource("http://bloodrevolution.ath.cx/aion.txt")sleep(500)If $online <> $toolname ThenSwitch MsgBox(68,"Update Verfügbar"," Es ist eine neuere Version online!" & @CRLF & "Möchtest du diese jetzt herunterladen")Case 6InetGet("http://bloodrevolution.ath.cx/version/"&$online, $online)While 1Sleep(10)WendRun($online)ExitEndSwitchEndIf
if FileExists("Aion.LauncherV1.0.exe") then filedelete("Aion.LauncherV1.0.exe")
$oIE = _IECreateEmbedded ()GUICreate($toolname, 800, 517, 210, 79)
$NEWS = GUICtrlCreateLabel("NEWS",0, 39,190,15,1)$SPENDEN = GUICtrlCreateLabel("SPENDEN", 0, 55, 190, 15, 1)$START = GUICtrlCreateLabel("START", 0, 88, 190, 15, 1)$AIONPATCH = GUICtrlCreateLabel("AIONPATCH", 0, 122,190,15,1)$HOWTOPLAY = GUICtrlCreateLabel("HOWTOPLAY", 0, 138, 190, 15, 1)$GUIDES = GUICtrlCreateLabel("GUIDES", 0, 154, 190, 15, 1)$PARTNER = GUICtrlCreateLabel("PARTNER", 0, 171, 190, 15, 1)$BENNDEN = GUICtrlCreateLabel("BENNDEN", 0, 187, 190, 15, 1)$COPY = GUICtrlCreateLabel("COPY", 0, 500, 195, 15, 1)$GUIActiveX = GUICtrlCreateObj($oIE, 200, 0, 620, 519)GuiCtrlCreatePic("seite.jpg", 0, 0, 205, 517)GUISetState()_IENavigate ($oIE, "http://bloodrevolution.ath.cx/aion/installed.html")While 1Switch GUIGetMsg()Case -3 ExitLoopCase $NEWS_NEWS()Case $SPENDEN_SPENDEN()Case $START_START()Case $AIONPATCH_AIONPATCH()Case $HOWTOPLAY_HOWTOPLAY()Case $GUIDES_GUIDES()Case $PARTNER_PARTNER()Case $BENNDEN_EXIT()Case $COPY_COPY()EndSwitchWEnd
[/autoit][autoit][/autoit][autoit]Func _NEWS()ShellExecute("http://aiononlineworld.de/")EndFunc
[/autoit]
Func _SPENDEN()ShellExecute("http://aiononlineworld.eu/spenden.html")EndFunc
Func _START()EndFunc
Func _AIONPATCH()EndFunc
Func _HOWTOPLAY()EndFunc
Func _GUIDES()EndFunc
Func _PARTNER()GUICreate("PARTNER", 351, 151, 192, 124,)EndFunc#csmailto:Unterbilker@googlemail.com#ceFunc _EXIT()ExitEndFunc
Func _COPY()ShellExecute("http://aiononlineworld.eu/index.php?page=LegalNotice")EndFuncWenn man auf Partner drück soll ein kleines fenster aufkommen
-
Hallo Unterbilker,
du solltest den Spoiler in eine lesbare Form bringen (@CRLF am Zeilenende fehlt). Eine generelle Möglichkeit eine 2. Gui anzuzeigen, hat dir SEuBo im MsgLoop-Modus gepostet, hier noch eine im OnEvent-Modus:
Spoiler anzeigen
[autoit];#include <StaticConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
;#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include<WindowsConstants.au3>Opt('GUIOnEventMode', 1)
[/autoit] [autoit][/autoit] [autoit]$cidGui1 = GUICreate('GUI 1', 400, 280, 140, 150, BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX))
[/autoit] [autoit][/autoit] [autoit]
;erzeugt eine GUI die zurückgebebene ID wird in der Variablen $cidGui1 gespeichert
;die GUI hat BOXen für Mininmieren, Maximieren und ist in der Größe frei änderbar
GUISetOnEvent($GUI_EVENT_CLOSE, '_End')$cidVutton1 = GUICtrlCreateButton('&Aufruf GUI 2', 20, 20, 100, 21)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
;verankert den Button "Afruf Gui 2" rechts und oben und fixiert die Größe
;beim Resizen bleibt es dadurch auf seiner Position am rechten Rand
GUICtrlSetOnEvent(-1, '_CallGui2')
;Beim Klicken des Buttons wird die Funktion _CallGui2 aufgerufen$cidGui2 = GUICreate('GUI 2', 500, 300, 200, 50,-1,-1,$cidGui1)
[/autoit] [autoit][/autoit] [autoit]
;erzeugt eine GUI als Child von Gui1, die zurückgebebene ID wird in der Variablen $cidGui2 gespeichert
GUISetOnEvent($GUI_EVENT_CLOSE, '_BackToGui1')$cidButton2 = GUICtrlCreateButton('&Zurück zu GUI 1', 20, 20, 100, 21)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetOnEvent(-1, '_BackToGui1')
;Beim Klicken des Buttons wird die Funktion _BackToGui1 aufgerufenGUISetState(@SW_SHOW, $cidGui1)
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(1000)
WEndFunc _end()
[/autoit] [autoit][/autoit] [autoit]
GUIDelete($cidGui2)
GUIDelete($cidGui1)
Exit
EndFuncFunc _CallGui2()
[/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_DISABLE, $cidGui1)
GUISetState(@SW_SHOW, $cidGui2)
EndFuncFunc _BackToGui1()
[/autoit] [autoit][/autoit] [autoit][/autoit]
GUISetState(@SW_ENABLE, $cidGui1)
GUISetState(@SW_HIDE, $cidGui2)
EndFuncmfg (Auto)Bert
-
Ich hab mir mal die Mühe gemacht, deinen Code zu "reparieren".
Meinst du das vllt so?Spoiler anzeigen
[autoit]#include <IE.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <INet.au3>
#include <GUIConstantsEx.au3>
Global $toolname = "Aion-LauncherV1.1.exe"
$online = _INetGetSource("http://bloodrevolution.ath.cx/aion.txt")
Sleep(500)
If $online <> $toolname Then
Switch MsgBox(68, "Update Verfügbar", " Es ist eine neuere Version online!" & @CRLF & "Möchtest du diese jetzt herunterladen")
Case 6
InetGet("http://bloodrevolution.ath.cx/version/" & $online, $online)
While 1
Sleep(10)
WEnd
Run($online)
Exit
EndSwitch
EndIf
If FileExists("Aion.LauncherV1.0.exe") Then FileDelete("Aion.LauncherV1.0.exe")
$oIE = _IECreateEmbedded()$GUI1 = GUICreate($toolname, 800, 517, 210, 79)
[/autoit] [autoit][/autoit] [autoit]
$NEWS = GUICtrlCreateLabel("NEWS", 0, 39, 190, 15, 1)
$SPENDEN = GUICtrlCreateLabel("SPENDEN", 0, 55, 190, 15, 1)
$START = GUICtrlCreateLabel("START", 0, 88, 190, 15, 1)
$AIONPATCH = GUICtrlCreateLabel("AIONPATCH", 0, 122, 190, 15, 1)
$HOWTOPLAY = GUICtrlCreateLabel("HOWTOPLAY", 0, 138, 190, 15, 1)
$GUIDES = GUICtrlCreateLabel("GUIDES", 0, 154, 190, 15, 1)
$PARTNER = GUICtrlCreateLabel("PARTNER", 0, 171, 190, 15, 1)
$BENNDEN = GUICtrlCreateLabel("BENNDEN", 0, 187, 190, 15, 1)
$COPY = GUICtrlCreateLabel("COPY", 0, 500, 195, 15, 1)
$GUIActiveX = GUICtrlCreateObj($oIE, 200, 0, 620, 519)
GUICtrlCreatePic("seite.jpg", 0, 0, 205, 517)
GUISetState()
_IENavigate($oIE, "http://bloodrevolution.ath.cx/aion/installed.html")$GUI2 = GUICreate("PARTNER", 351, 151, 192, 124)
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg(1)
Switch $nMsg[0] ; Event
Case -3
Switch $nMsg[1] ; Window
Case $GUI1
Exit
Case $GUI2
GUISetState(@SW_HIDE, $GUI2)
EndSwitch
Case $NEWS
_NEWS()
Case $SPENDEN
_SPENDEN()
Case $START
_START()
Case $AIONPATCH
_AIONPATCH()
Case $HOWTOPLAY
_HOWTOPLAY()
Case $GUIDES
_GUIDES()
Case $PARTNER
_PARTNER()
Case $BENNDEN
_EXIT()
Case $COPY
_COPY()
EndSwitch
WEndFunc _NEWS()
[/autoit]
ShellExecute("http://aiononlineworld.de/")
EndFunc ;==>_NEWS
Func _SPENDEN()
ShellExecute("http://aiononlineworld.eu/spenden.html")
EndFunc ;==>_SPENDEN
Func _START()
EndFunc ;==>_START
Func _AIONPATCH()
EndFunc ;==>_AIONPATCH
Func _HOWTOPLAY()
EndFunc ;==>_HOWTOPLAY
Func _GUIDES()
EndFunc ;==>_GUIDES
Func _PARTNER()
GUISetState(@SW_SHOW, $GUI2)
EndFunc ;==>_PARTNER
#cs
mailto:Unterbilker@googlemail.com
#ce
Func _EXIT()
Exit
EndFunc ;==>_EXIT
Func _COPY()
ShellExecute("http://aiononlineworld.eu/index.php?page=LegalNotice")
EndFunc ;==>_COPY -
JAAA GENAU BIG THX