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