Hallo ich habe 2 Guis in einem script wie kann ich nun eins danvon schließ ohne das andere zu schließen.
2. Wie kann ich die Farbe meines guis mit einem 2 gui im script (Einstellungen) ändern.
3.ich habe eine startseite eingestellt möchte sie aber per 2 gui im script ändern und beim nächsten start wieder meine geänderte (also neue )startseite haben)
Hier Hauptskript:
PHP Code:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Version=Beta
#AutoIt3Wrapper_icon=browsers-flock.ico
#AutoIt3Wrapper_UseX64=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#cs ----------------------------------------------------------------------------
GUISetAccelerators($Form1_AccelTable)
#EndRegion ### END Koda GUI section ###
_IENavigate($IE,"www.gsgb.de")
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $MenuItem3
Exit
Case $MenuItem2
_Func ()
Case $MenuItem6
MsgBox(0,"Version 1.0","Version:" & @CR & "1.0 (Beta)" & @CR & "" & @CR & "Hokeys:" & @CR &"F1 = Hilfe" & @CR & "F12 = Beenden" & @CR & "F2 = Version",30)
Case $MenuItem7
MsgBox(0,"Info","Dieser Browserwurde von:" & @CR & " erstellt.",10)
Case $MenuItem8
MsgBox(0,"Hilfe","Wenn sie Hilfe brauchen wenden sie sich beitte an den Hersteller" & @CR & "Hokeys:" & @CR & "F12 = Beenden" & @CR & "F2 = Version",30)
Case $Button1
_IENavigate($IE,"www.wikipedia.de")
Case $Button2
_IENavigate($IE,"www.google.de")
Case $Button3
_IENavigate($IE,"www.gsgb.de")
Case $Button4
_IENavigate($IE,"www.youtube.de")
Case $Button6
MsgBox(0,"Regeln","Diese sind die Regeln für den GSGB WEBBORWSER:" & @CR & "Keine Spiele!" & @CR & "Keine Videos die nicht für die Schule sind Anschauen!" & @CR & "Keine anderen Websites aufrufen die nicht für die Schule sind!",30)
Case $Button7
_IEAction($IE,"Back")
Case $Button8
_IEAction($IE,"forward")
Case $Button5
$AD = GUICtrlRead($adresse)
_IENavigate($IE,$AD)
IniWrite("Verlauf","Verlauf:",$AD,"")
$html = GUICtrlRead($adresse)
_IENavigate($IE,$html)
Case Else
$current = _IEPropertyGet($IE, "locationurl")
If $current<>$old Then
GUICtrlSetData($adresse, $current)
$old = $current
EndIf
EndSwitch
WEnd
Case $GUI_EVENT_CLOSE GUIDelete("Einstellungen") exitloop
2.
PHP Code:
GUISetBkColor(0x0054E3,$Form1) ;wäre jetzt z.b. die änderung in blaue farbe
3. Du kannst die Startseite ja in ein .ini File (Iniwrite) schreiben und dann bei jedem start mit Iniread checken welche Seite als letztes als Startseite gewählt wurde
also ersteinmal solltest du vielleicht mal drüber nachdenken was while 1 macht.
der macht nicht etwas solange 1 is... in autoit wird standardmäßig alles was definiert wird eins gesetzt. gibst du keine variable an, so bezieht sich das true auf dein script.
dh while 1 bedeutet eig while true und bedeutet solange dein script läuft mache das...
das ganze funktioniert NUR, weil 1 = True in autoit.
while 2 hingegen ist absoluter schwachsinn. du musst schon alles in eine while schleife packen. guigetmsg bezieht sowieso von all deinen erstellten guis die daten, und wenn du als parameter noch 1 nutzt erhälst du sogar ein array mit infos über das gui, in dem etwas passiert.
desweiteren brauchst du nicht mit so tollen sprüchen wie: "Einige Kidis werden bestimmt kopieren!" kommen, wenn ich bei dir unten im code schon das hier sehe:
Code:
$current = _IEPropertyGet($IE, "locationurl")
If $current<>$old Then
GUICtrlSetData($adresse, $current)
$old = $current
EndIf
nun zum gui. ist ja schön das du ein gui in koda ertsllet hast. für etwa 5% aller user wird das sicher ein top gui sein. die restlichen 95% werden selbst beim schließen des guis schon auf extreme probleme stoßen, da do das anordnen von controls und selbst die guigröße einfach statisch geregelt hast.
Code:
GUICreate("GSGB ---- Internet Expolra", 1681, 1001, -8, -8)
macht schoneinmal überhaupt keinen sinn. du kannst das ui ja gerne mit dem style maximized starten, sodas es auf fullscreen startet. aber davon ausgehen, das jeder mensch eine auflösung von 1680x1000 hat find ich ja schon ein wenig dreist. und mal davon abgesehen, macht auch -8 als startposition überhaupt keinen sinn, denn das impliziert ja schon das der user etwas vom gui nicht sehen kann.
wenn du ein gui erstellen willst, musst du immer mit dynmaischen werten arbeiten. alles muss auf @DesktopHeight und @DesktopWidth angepasst werden.
und nun nocheinmal genauer zu deiner frage. du hast bei dir im code gesetzt:
Code:
Case -3
Exit
das bedeutet, sobald jemand auf das x oben drückt wird dein script beendet.
selbstverständlich soll aber eigentlich nur das aktuell aktive gui beendet werden.
um das ganze elegant zu lösen, müsstest du in jedem fall mit dem parameter von guigetmsg arbeiten. desweiteren würde ich deine schleife auch nicht endlos laufen lassen, sondern nur solange dein hauptgui läuft.