Brauch Hilfe

08/24/2010 09:59 lolkop#31
bleibt die frage was die warnehmungskraft des menschlichen ausges mit der bedienbarkeit des guis zu tun hat....

und mal davon abgesehn denke ich mal da das problem des thread erstellers gelöst wurde, sollte man aufhören hier mit offtopic chat weiter zu machen.
08/24/2010 13:56 weißerwolf#32
krieg der proger :D und ich versteh wie immer bahnhof :D:D:D:D:D:D:D:D
08/24/2010 14:02 weißerwolf#33
ehm wie krigt man das hin das wenn man ein fenster hat dann z.B. auf ok klickt das dann das nächste fenster erscheint ??
08/24/2010 14:31 lolkop#34
indem du einfach 2 guis machst, und das eine immer versteckt hälst solange der button nicht gedrückt ist

Edit:
du kannst natürlich auch ein gui erst dann erstellen, wenn der button gedrückt wird zb so:
Code:
$gui1 = GUICreate("Blah1", 150, 40, -1, -1, 0x10C80000)
$btn = GUICtrlCreateButton("klick mich", 10, 10, 130)
While 1
	$msg = GUIGetMsg(1)
	Switch $msg[0]
		Case -3
			GUIDelete($msg[1])
		Case $btn
			$gui2 = GUICreate("Blah2", 150, 40, -1, -1, 0x10C80000, -1, $gui1)
		Case Else
			If Not WinExists($gui1) Then Exit
	EndSwitch
WEnd
09/03/2010 16:37 weißerwolf#35
ich bin mal wieder aufn pro gestoßen

$gui1 = GUICreate("Blah1", 150, 40, -1, -1, 0x10C80000)
$btn = GUICtrlCreateButton("klick mich", 10, 10, 130)
While 1
$msg = GUIGetMsg(1)
Switch $msg[0]
Case -3
GUIDelete($msg[1])
Case $btn
$gui2 = GUICreate("Blah2", 400, 200, -1, -1, 0x10C80000, -1, $gui1)
$button2 = guicreatebutton("schließen", 20,20,50,50
Case Else
If Not WinExists($gui1) Then Exit
EndSwitch
WEnd

wie krieg ich das hin das der button2 funzt denn mir sagt der immer irwas mit button not recided oder irsowas ^^
09/03/2010 18:19 lolkop#36
hier hast du das problem, dass der button ja nur existiert, falls vorher bereits das 2te gui gestartet wurde.

das script checkt aber sobald es gestartet wurde alle 5ms ob dieser button betätigt wurde. dh wenn du nicht innerhalb der ersten 5ms das 2te gui startest, kann autoit nichts mit der variable $button2 anfangen, da sie ja garnicht existiert :P
um das zu umgehen kannst du einfach am anfang des scripts die variable mit
Code:
Dim $button2 = -1
als nicht genutzt definieren.
Hierbei kommt allerdings ein anderes problem ins spiel.
ich habe das script so aufgebaut das es automatisch immer neue guis erstellt, sobald im maingui der button genutzt wird.

wenn du jetzt mehrfach den button betätigst, wird zunächst ein neues gui erstellt, in dem $button2 definiert wird mit dem controlhandle vom button.
beim nächsten click wird wieder ein neues gui erstellt, und der wert in $button2 wird einfach überschrieben.

dh der button würde immer nur im zuletzt erstellten gui funktionieren.

wenn man per buttondruck sowieso maximal ein anderes gui erzeugen können soll, kannst du das einfach so lösen:
Code:
Dim $btn2 = -1, $gui2 = -1
$gui1 = GUICreate("Blah1", 150, 40, -1, -1, 0x10C80000)
$btn = GUICtrlCreateButton("klick mich", 10, 10, 130)
While 1
	$msg = GUIGetMsg(1)
	Switch $msg[0]
		Case - 3
			GUIDelete($msg[1])
		Case $btn
			If Not WinExists($gui2) Then 
				$gui2 = GUICreate("Blah2", 400, 200, -1, -1, 0x10C80000, -1, $gui1)
				$btn2 = GUICtrlCreateButton("schließen", 20, 20, 50, 50)
			EndIf
		Case $btn2
			GUIDelete($msg[1])
		Case Else
			If Not WinExists($gui1) Then Exit
	EndSwitch
WEnd
willst du aber weiterhin den button des mainguis nicht einschränken und unendlich viele "zweit guis" erstellen lassn, musst du das ganze recht kompliziert über arrays oder Assign(...) lösen.
09/05/2010 19:31 weißerwolf#37
ok danke