Seite 1 von 1
Fenster
Verfasst: 30.03.2005 18:31
von zigapeda
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?
Verfasst: 30.03.2005 18:45
von Leo
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
Verfasst: 30.03.2005 20:30
von zigapeda
nein ich meinte eher ein Fenster und wenn ich in dem fenster einen button anklicke öffnet sich ein zweites fenster.
Verfasst: 30.03.2005 21:48
von Leo
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
Verfasst: 31.03.2005 00:06
von zigapeda
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.
Verfasst: 01.04.2005 10:13
von spongebob
dann machste einfach eine procedure. dann musste nicht alles in die repeat- until schleife reinschreiben....
Verfasst: 01.04.2005 11:19
von traumatic
Alternativ:
HideWindow()
Syntax
- HideWindow(#Window, Status)
Beschreibung
- Versteckt oder zeigt das angegebene Fenster '#Window'.
'Status' kann folgende Werte annehmen:
- 1: das Fenster #Window ist versteckt
0: das Fenster #Window wird angezeigt
Verfasst: 01.04.2005 23:27
von zigapeda
@ traumatic sowas hab ich mir vorgestellt ich wusste nur nicht wie der befehl lautet bzw. seinen syntax
@ all THX