Seite 1 von 1
Dynamisch erstelltes Gadget bei mehreren Fenstern
Verfasst: 19.01.2020 18:00
von kmais
Ich stelle mir gerade folgende Frage,
Ich habe eine Anwendung mit mehreren Fenster.
Die Anwendung wird in einer main.pb gesteuert.
Wenn ich jetzt in einer Routine ein beliebiges Gadget dynamisch
erstelle, wie sage ich dem Gadget zu welchem Fenster es gehört?
In der Erstellungsanweisung ist ja dafür kein Parameter vorhanden.
Re: Dynamisch erstelltes Gadget bei mehreren Fenstern
Verfasst: 19.01.2020 18:10
von Bisonte
UseGadgetList() ist da dein Verbündeter.
Re: Dynamisch erstelltes Gadget bei mehreren Fenstern
Verfasst: 19.01.2020 18:17
von kmais

und vielen Dank.
Re: Dynamisch erstelltes Gadget bei mehreren Fenstern
Verfasst: 19.01.2020 18:28
von ccode_new
Hier war jemand schneller.
Aber trotzdem mal ein kleines Beispiel:
Code: Alles auswählen
Procedure Zweit_Fenster()
If OpenWindow(1, 0, 0, 200, 200, "Das Hallo-Fenster", #PB_Window_SystemMenu)
EndIf
EndProcedure
If OpenWindow(0, 100, 200, 600, 400, "PureBasic Window", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget)
ButtonGadget(0, 5, 5, 200, 30, "Statischer Knopf")
Zweit_Fenster()
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_CloseWindow
If EventWindow() = 0
Quit = 1
ElseIf IsWindow(1)
CloseWindow(1)
EndIf
EndIf
If Event = #PB_Event_Gadget
If EventGadget() = 0
If IsWindow(1) And Not IsGadget(1)
ButtonGadget(1, 10, 10, 100, 30, "Hallo!")
Else
UseGadgetList(WindowID(0))
ButtonGadget(1, 100, 100, 100, 30, "Hallo!")
EndIf
EndIf
EndIf
Until Quit = 1
EndIf
End