Ich bin neu und möchte wissen wie man einen button so schreiben kann, dass man weitergeleitet wird auf eine neue Seite die dafür angelegt wurde. Schonmal danke im vorraus.
Wie kann ich von einem Button weiterleiten auf eine neue seite?
-
tvfabi11 -
31. August 2016 um 11:47 -
Erledigt
-
-
Mit Seite meinst du GUI?
einfach GuiSetState mit allen Parametern benutzen. Wichtiger bei Programmen mit mehreren GUI's ist allerdings das korrekte Zuordnen der Events, dazu benutzt man am besten GUIGetMsg im extended Modus:
AutoIt
Alles anzeigen#include <GUIConstantsEx.au3> #include<WindowsConstants.au3> Global $hGui1, $hGui2 = -99, $idMsgBox, $idZurueck, $idbtnExit2 ;_CreateGui2() ;entweder hier oder erst wenn benötigt ($idbtmToGui2 Klick) #Region GUI1 ##################################################################################### $hGui1 = GUICreate('GUI 1', 400, 280, 140, 150, BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX),$WS_EX_TOPMOST) ;erzeugt eine GUI , das zurückgebebene Handle wird in der Variablen $hGui1 gespeichert ;die GUI hat BOXen für Mininmieren, Maximieren und ist in der Größe frei änderbar $idbtnToGui2 = GUICtrlCreateButton('&Aufruf GUI 2', 20, 20, 100, 21) GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP) ;verankert den Button "Aufruf Gui 2" links und oben und fixiert die Größe ;beim Resizen bleibt es dadurch auf seiner Position am rechten Rand $idbtnICQ = GUICtrlCreateButton('&ICQ', 20, 50, 100, 21) GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP) ;verankert den Button "ICQ" links und oben und fixiert die Größe ;beim Resizen bleibt es dadurch auf seiner Position am rechten Rand $idbtnExit1 = GUICtrlCreateButton('be&enden', 280, 225, 100, 21) GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKBOTTOM) ;verankert den Button "beenden" links und oben und fixiert die Größe ;beim Resizen bleibt es dadurch auf seiner Position am rechten Rand GUISetState(@SW_SHOW, $hGui1) #EndRegion ########################################################################################### While 1 $nMsg = GUIGetMsg(1) ;extended Modus wichtig!! Switch $nMsg[1] ;für welches Fenster ist die Message Case $hGui1 ;ab hier ist Gui 1 dran Switch $nMsg[0] ;welche Message wurde ausgelöst Case $idbtnToGui2 GUISetState(@SW_DISABLE, $hGui1) ;Gui 1 gegen Benutzereingaben sperren If $hGui2 = -99 Then _CreateGui2() ;nur wenn noch nicht erzeugt GUISetState(@SW_SHOW, $hGui2) ;Gui 2 anzeigen Case $idbtnICQ MsgBox(0, "", "Jetzt würde ICQ gestartet", 0, $hGui1) ;Run("C:\Program Files\ICQ7.0\ICQ.exe") Case $idbtnExit1, $GUI_EVENT_CLOSE _end() EndSwitch Case $hGui2 ;ab hier ist Gui 2 dran Switch $nMsg[0] ;welche Message wurde ausgelöst Case $idMsgBox MsgBox(0, 'Test', 'Test', 0, $hGui2) Case $idZurueck, $GUI_EVENT_CLOSE GUISetState(@SW_ENABLE, $hGui1) ;Gui 1 wieder entsperren GUISetState(@SW_HIDE, $hGui2) ;Gui 2 verstecken Case $idbtnExit2 _end() EndSwitch EndSwitch WEnd Func _CreateGui2() $hGui2 = GUICreate('GUI 2', 400, 280, 200, 50, -1, -1, $hGui1) ;wichtig ist der letzte Parameter ;erzeugt eine GUI als Child von Gui1, das zurückgebebene Handle wird in der Variablen $hGui2 gespeichert $idMsgBox = GUICtrlCreateButton('&MsgBox', 20, 20, 100, 21) $idZurueck = GUICtrlCreateButton('&Zurück zu GUI 1', 20, 50, 100, 21) $idbtnExit2 = GUICtrlCreateButton('be&enden', 280, 250, 100, 21) GUISetState(@SW_HIDE, $hGui2) ;Gui 2 vorerst verstecken EndFunc ;==>_CreateGui2 Func _end() GUIDelete($hGui2) GUIDelete($hGui1) Exit EndFunc ;==>_end
-
Vielen dank für die schnelle Antwort
Kann ich in die verschiedenen Kategorien auch Tabellen einfügen in die man was reinschreiben kann? -
-
Hallo Andy,
wie kann ich diese machen? -
Die UDF von mir macht die Listview editierbar. Da ist auch ein Beispiel bei.
-
Das hier ist ein Forum für Hilfe und Unterstützung!
Wenn du willst, dass dir hier komplette Scripte erstellt werden, bist du falsch!
Dafür gibt es den Bereich "Programmieranfragen", dort wird sich evtl. jemand finden, der dir Scripte schreibt, während du deiner Arbeit oder Freizeitbeschäftigung nachgehst. Dir sollte klar sein, dass diese Leistung entsprechend honoriert werden muß, richte dich je nach Komplexität des Scripts auf entsprechende Zahlungen ein.Allerdings bist du nicht einmal in der Lage, (D)ein Problem zu schildern und einen Lösungsversuch zu posten. Zeig ein Script und beschreibe, was du hast und erörtere das Ziel, welches du erreichen willst.
Wenn du nicht weißt, wie man Fragen richtig stellt, klick in meiner Signatur auf den entsprechenden Link, nimm dir dafür Zeit und berücksichtige, was dort steht!