Gadgets während des Programmablaufs nachträglich hinzufügen

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
PBZecke
Beiträge: 399
Registriert: 02.09.2004 17:34

Gadgets während des Programmablaufs nachträglich hinzufügen

Beitrag von PBZecke »

Ich hab mal ne Frage zu CreateGadgetList(). Wenn ich mehrere Fenster erstellen, und während des Programmverlaufs Gadgets hinzufügen möchte, muss ich CreateGadgetList() mit dem Handle des Fensters in dem das neue Gadget platziert werden soll aufrufen. Das funktioniert auch. Aber mache ich das auch richtig so, oder macht man das anders?

Beispiel:

Code: Alles auswählen

Enumeration
  #Window_0
  #Window_1
EndEnumeration


Procedure Open_Window_0()
  If OpenWindow(#Window_0, 269, 233, 600, 300,  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar , "New window ( 0 )")
    If CreateGadgetList(WindowID())
    ButtonGadget(0,10,10,50,50,"Button 0")  
    EndIf
  EndIf
EndProcedure

Procedure Open_Window_1()
  If OpenWindow(#Window_1, 271, 487, 600, 300,  #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar , "New window ( 1 )")
    If CreateGadgetList(WindowID())
      
    EndIf
  EndIf
EndProcedure

;Fenster 1 öffnen
Open_Window_0()
;Fenster 2 öffnen
Open_Window_1()

;Um den Button in Fenster 1 zu erstellen nochmal CreateGadgetlist() ?
CreateGadgetList(WindowID(#Window_0))
ButtonGadget(1,60,10,50,50,"Button 1")


Repeat : Until WaitWindowEvent() = #PB_EventCloseWindow
Ich erstelle hier zwei Fenster. Danach will ich im ersten Fenster noch einen Button hinzufügen. Nach herumprobieren fand ich heraus, dass das nur durch erneutes aufrufen von CreateGadgetList geht, sonst wird der neue Button im zuletzt erstellten Fenster erzeugt.
Nein, ich habe die Suche nicht benutzt, und deshalb auch nichts dazu gefunden... :lol:
Benutzeravatar
MLK
Beiträge: 267
Registriert: 01.11.2004 13:17
Wohnort: Hamburg

Beitrag von MLK »

Code: Alles auswählen

UseGadgetList(WindowID(#Window_0))
Benutzeravatar
PBZecke
Beiträge: 399
Registriert: 02.09.2004 17:34

Beitrag von PBZecke »

Ich werd erstmal nen Kaffe trinken, um richtig wach zu werden... :lol: :oops:

Danke!
Nein, ich habe die Suche nicht benutzt, und deshalb auch nichts dazu gefunden... :lol:
Antworten