Fenster
Fenster
Hallo wie kann ich ein zweites Fenster in mein Programm integrieren? Ich habe keine Idee wie ich das machen soll mit den Gadgets. Muss ich da am anfang gleich das fenster öffnen und dann verstecken oder muss ich das im code öffnen und die ganzen gadgets auch mitten im code erstellen?
Meinst du sowas, oder was ist dein Problem?
Code: Alles auswählen
OpenWindow(0,0,0,200,200,#PB_Window_ScreenCentered|#PB_Window_SystemMenu,"Fenster ~_~") ;Fenster öffnen
CreateGadgetList(WindowID()) ;Gadget Liste erzeugen
ButtonGadget(0,10,10,100,50,"Button <_<") ;Button drauf
OpenWindow(1,200,200,150,150,#PB_Window_SystemMenu,"Fenster 2 >_<") ;2. Fenster öffnen
CreateGadgetList(WindowID()) ;Und jetzt auch für dieses Fenster ne Liste erzeugen
ButtonGadget(1,20,20,80,30,"Button2 >_>") ;Und noch ein Button
Repeat
Event = WaitWindowEvent() ;Auf ein Event warten
EventID = EventWindowID() ;Gibt zurück, auf welchem Fenster das Event war
Select Event
Case #PB_Event_CloseWindow ;X
If EventID = 0 ;Wenn das X auf dem ersten Fenster geklickt wurde
CloseWindow(0) ;Das erste Fenster schließen
ElseIf EventID = 1
CloseWindow(1) ;Ansonsten das 2. Fenster schließen
EndIf
Case #PB_Event_Gadget ;Wenn ein Gadget gedrückt wurde -_-
Select EventGadgetID()
Case 0
MessageRequester("Gadget","Button <_<")
Case 1
MessageRequester("Gadget","Button2 >_>")
EndSelect
EndSelect
Until IsWindow(0) = 0 And IsWindow(1) = 0 ;Solange warten, bis beide Fenster nicht mehr existieren
Code: Alles auswählen
OpenWindow(0,0,0,200,200,#PB_Window_ScreenCentered|#PB_Window_SystemMenu,"Fenster ~_~") ;Fenster öffnen
CreateGadgetList(WindowID()) ;Gadget Liste erzeugen
ButtonGadget(0,10,10,180,50,"Button <_< (drück drück für window)") ;Button drauf
Repeat
Event = WaitWindowEvent() ;Auf ein Event warten
EventID = EventWindowID() ;Gibt zurück, auf welchem Fenster das Event war
Select Event
Case #PB_Event_CloseWindow ;X
If EventID = 0 ;Wenn das X auf dem ersten Fenster geklickt wurde
CloseWindow(0) ;Das erste Fenster schließen
ElseIf EventID = 1
CloseWindow(1) ;Ansonsten das 2. Fenster schließen
EndIf
Case #PB_Event_Gadget ;Wenn ein Gadget gedrückt wurde -_-
Select EventGadgetID()
Case 0
MessageRequester("Gadget","Button <_< neu fensta")
If IsWindow(1) = 0
OpenWindow(1,200,200,150,150,#PB_Window_SystemMenu,"Fenster 2 ") ;2. Fenster öffnen
CreateGadgetList(WindowID()) ;Und jetzt auch für dieses Fenster ne Liste erzeugen
ButtonGadget(1,20,20,80,30,"Button2 >_>") ;Und noch ein Button
EndIf
Case 1
MessageRequester("Gadget","Button2 >_>")
EndSelect
EndSelect
Until IsWindow(0) = 0 And IsWindow(1) = 0 ;Solange warten, bis beide Fenster nicht mehr existieren
Ja eben das war ja meine Frage muss ich das komplete fenster in Der Repeatschleife öffnen oder geht das auch ganz am anfang mit dem Ersten fenster und das es dann sichtbar gemacht wird? Also erstellen, verstecken und wenn die bedingung erfüllt ist wieder Anzeigen? Der grund dafür ist eine Ziemlich lange Gadget list die ich nicht umbedingt dort hinein schreiben möchte.