Hallo Com,
Ich hab folgendes Problem also ich habe 2 verschiedene Formen mit jeweils anderem Skript zb Eine Form wo man Login und Passwort eingeben mus und ein Button wo man sich Registrieren kan sodele , und die jeweiligen scripte in eine script drin ich weiß nicht ob das gut so war vielleicht kan man das ja auch anders machen , Aufjedenfall möchte ich das sich das Regi script öffnet wenn man auf den Regu button click ohne das ich das regi script in eine exe umwandeln möchte da ich nicht möchte das es 2 exe'n gibt im endeffect
Ich hoffe ihr versteht mein Problem
mfg herbii
Per Button eine Andere Form öffnen
-
- [ offen ]
-
HerbiiProduktion -
3. Februar 2012 um 18:48 -
Geschlossen -
Erledigt
-
-
Ich habe keine Ahnung was du meinst, weil du auch kein Beispielscript hinzugefügt hast ( eines, welches FUNKTIONIERT ) und auch ein paar Rechtschahipveläa waren drinne, aber ich glaube das hier suchst du:
[autoit]#include<DeinScript.au3>
[/autoit]
???mfg
Hauke -
Hallo HerbiiProduktion,
wenn du 2 GUI's verwenden willst solltest im GuiGetMsg-Modus den Extended-Parameter von GuiGetMsg benutzen. Kleines Beispiel:
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include<WindowsConstants.au3>Global $idGui1, $idGui2=-99, $idMsgBox, $idZurueck, $idbtnExit2
[/autoit] [autoit][/autoit] [autoit]
_CreateGui2() ;entweder hier oder erst wenn benötigt ($idbtmToGui2 Klick)$idGui1 = 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 $idGui1 gespeichert
;die GUI hat BOXen für Mininmieren, Maximieren und ist in der Größe frei änderbar
GUISetOnEvent($GUI_EVENT_CLOSE, '_End')$idbtnToGui2 = GUICtrlCreateButton('&Aufruf GUI 2', 20, 20, 100, 21)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
;verankert den Button "Afruf 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)
[/autoit] [autoit][/autoit] [autoit]
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', 20, 80, 100, 21)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
;verankert den Button "Afruf Gui 2" links und oben und fixiert die Größe
;beim Resizen bleibt es dadurch auf seiner Position am rechten RandGUISetState(@SW_SHOW, $idGui1)
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg(1) ;extended Modus wichtig!!
Switch $nMsg[1] ;für welches Fenster ist die Message
Case $idGui1 ;ab hier ist Gui 1 dran
Switch $nMsg[0] ;welche Message wurde ausgelöst
Case $idbtnToGui2
GUISetState(@SW_Hide, $idGui1) ;Gui 1 verstecken, damit nur Gui2 sichtbar ist und bearbeitet werden kann
;GUISetState(@SW_DISABLE, $idGui1) ;oder Gui 1 disablen, damit nur Gui2 bearbeitet werden kann
;If $idGui2 = -99 Then _CreateGui2() ;nur wenn nicht am Anfang bereits erzeugt nötig, dann auf Vorbelegung der Variable in Global achten)
GUISetState(@SW_SHOW, $idGui2) ;Gui 2 anzeigen
Case $idbtnICQ
MsgBox(0,"","Jetzt würde ICQ gestartet",0,$idGui1)
;Run("C:\Program Files\ICQ7.0\ICQ.exe")
Case $idbtnExit1, $GUI_EVENT_CLOSE
_end()
EndSwitch
Case $idGui2 ;ab hier ist Gui 2 dran
Switch $nMsg[0] ;welche Message wurde ausgelöst
Case $idMsgBox
MsgBox(0, 'Test', 'Test', 0, $idGui2)
Case $idZurueck, $GUI_EVENT_CLOSE
GUISetState(@SW_Show, $idGui1) ;Gui 1 wieder anzeigen
;GUISetState(@SW_ENABLE, $idGui1) ;oder Gui 1 wieder zur Bearbeitung zulsassen
GUISetState(@SW_HIDE, $idGui2) ;Gui 2 verstecken
Case $idbtnExit2
_end()
EndSwitch
EndSwitch
WEndFunc _CreateGui2()
[/autoit] [autoit][/autoit] [autoit]
$idGui2 = GUICreate('GUI 2', 500, 300, 200, 50, -1, -1, $idGui1) ;wichtig ist der letzte Parameter falls beide gleichzeitig sichtbar sein sollen
;erzeugt eine GUI als Child von Gui1, die zurückgebebene ID wird in der Variablen $idGui2 gespeichert$idMsgBox = GUICtrlCreateButton('&MsgBox', 20, 20, 100, 21)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
;verankert den Button "MsgBox" links und oben und fixiert die Größe
;beim Resizen bleibt es dadurch auf seiner Position am rechten Rand$idZurueck = GUICtrlCreateButton('&Zurück zu GUI 1', 20, 50, 100, 21)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
;verankert den Button "zurück" links und oben und fixiert die Größe
;beim Resizen bleibt es dadurch auf seiner Position am rechten Rand$idbtnExit2 = GUICtrlCreateButton('be&enden', 20, 80, 100, 21)
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKLEFT + $GUI_DOCKTOP)
;verankert den Button "beenden" links und oben und fixiert die Größe
;beim Resizen bleibt es dadurch auf seiner Position am rechten Rand
EndFunc ;==>_CreateGui2Func _end()
[/autoit] [autoit][/autoit] [autoit][/autoit]
GUIDelete($idGui2)
GUIDelete($idGui1)
Exit
EndFunc ;==>_endmfg autoBert
-
Hm Ich hab jetzt ein bischen rum expärimentiert und das skript vom 2ten gui beim ersten eingefügt und über "fuc" für den button kann ich es öffnen , ich glaub das war mehr zufall wie können xD