Seite 1 von 1

Wie erstellt man ein neues Gadget im ersten von 2 Fenstern?

Verfasst: 28.11.2010 04:28
von PureLust
Hallo zusammen,

irgendwie scheine ich bei diesem (vermutlich einfachen) Anliegen einen Blackout zu haben. :|

Ich habe 2 geöffnete Fenster und muss zur Laufzeit im ersten davon ein weiteres Gadget erstellen.
Aber wie greife ich auf die Gadgetliste des ersten Fensters zu (OpenGadgetList() öffnet ja nur für Gadgets, aber nicht für Fenster geeignet)?

Hier mal ein kleiner Beispielcode:

Code: Alles auswählen

OpenWindow(1,10,10,400,200,"Fenster 1")
ButtonGadget(0,50,5,300,20,"Neuen Button in Fenster 2 erstellen")

OpenWindow(2,440,10,400,200,"Fenster 2")
ButtonGadget(1,50,5,300,20,"Neuen Button in Fenster 1 erstellen")

Repeat
	Event = WaitWindowEvent()
	If Event = #PB_Event_Gadget
		If EventType() = #PB_EventType_LeftClick
			If EventGadget() = 0
				
				; Dieser Button wird in Fenster 2 erstellt, da dies die zuletzt genutzte Window-Gadgetlist ist
				
				ButtonGadget(3,50,45,300,20,"Dieser Button soll in Fenster 2 erscheinen.")
				
			ElseIf EventGadget() = 1
				
				; ===== was muss hier hin, damit der Button in Fenster 1 erstellt wird? =====
				
				ButtonGadget(2,50,65,300,20,"Dieser Button soll in Fenster 1 erscheinen.")
				
			EndIf
		EndIf
	EndIf
Until Event = #PB_Event_CloseWindow
Grüße, PL.

Re: Wie erstellt man ein neues Gadget im ersten von 2 Fenste

Verfasst: 28.11.2010 09:29
von Christian H
UseGadgetList()

Code: Alles auswählen

OpenWindow(1,10,10,400,200,"Fenster 1")
ButtonGadget(0,50,5,300,20,"Neuen Button in Fenster 2 erstellen")

OpenWindow(2,440,10,400,200,"Fenster 2")
ButtonGadget(1,50,5,300,20,"Neuen Button in Fenster 1 erstellen")

Repeat
   Event = WaitWindowEvent()
   If Event = #PB_Event_Gadget
      If EventType() = #PB_EventType_LeftClick
         If EventGadget() = 0
            
            ; Dieser Button wird in Fenster 2 erstellt, da dies die zuletzt genutzte Window-Gadgetlist ist
            UseGadgetList(WindowID(2))
            ButtonGadget(3,50,45,300,20,"Dieser Button soll in Fenster 2 erscheinen.")
            
         ElseIf EventGadget() = 1
            
            ; ===== was muss hier hin, damit der Button in Fenster 1 erstellt wird? =====
            UseGadgetList(WindowID(1))
            ButtonGadget(2,50,65,300,20,"Dieser Button soll in Fenster 1 erscheinen.")
            
         EndIf
      EndIf
   EndIf
Until Event = #PB_Event_CloseWindow
Gruß Christian

Re: Wie erstellt man ein neues Gadget im ersten von 2 Fenste

Verfasst: 28.11.2010 22:53
von PureLust
Christian H hat geschrieben:UseGadgetList()
Au weia, UseGadgetList() hab ich ja total verdrängt. :oops:

Ich dachte, der wäre damals zusammen mit CreateGadgetList(), UseWindow(), etc. abgeschafft worden. Da hab ich wohl was verbuchselt. :roll:
Vielen Dank für's Augen öffnen, Christian. Bild