Fenster

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Fenster

Beitrag 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?
Leo
Beiträge: 420
Registriert: 26.10.2004 18:26

Beitrag 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
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von zigapeda »

nein ich meinte eher ein Fenster und wenn ich in dem fenster einen button anklicke öffnet sich ein zweites fenster.
Leo
Beiträge: 420
Registriert: 26.10.2004 18:26

Beitrag 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
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag 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.
spongebob
Beiträge: 13
Registriert: 26.03.2005 11:21

Beitrag von spongebob »

dann machste einfach eine procedure. dann musste nicht alles in die repeat- until schleife reinschreiben....
If you go me on the nerven, I steck you in a gulli, make a deckel drauf and you see never the tageslicht.....
GOD BLESS YOU.....
GOTT SEGNE DICH!!!!!!!
traumatic
Beiträge: 478
Registriert: 27.11.2004 15:42

Beitrag 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
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von zigapeda »

@ traumatic sowas hab ich mir vorgestellt ich wusste nur nicht wie der befehl lautet bzw. seinen syntax

@ all THX
kluger Mann + kluge Frau = Romanze | dummer Mann + dumme Frau = Schwangerschaft
kluger Mann + dumme Frau = Affäre | dummer Mann + kluge Frau = Shopping <)
Antworten