Re: Template diverser Eventschleifen
Verfasst: 23.08.2016 19:52
Heute möchte ich aufzeigen, wie man die Eventschleife verwenden kann, wenn man zig Child-Windows zu managen hat und dabei die Übersicht behalten möchte: Man packt jedes Fenster, inklusive Eventschleife, mit den dazugehörigen Events, in eine Procedure. So hat man alles übersichtlich beisammen. Wichtig: Es kann bei dieser Methode immer nur ein Child-Windows geöffnet sein!
Code: Alles auswählen
EnableExplicit
Procedure Child_Window()
If OpenWindow(1, 0, 0, 230, 90, "Child Window", #PB_Window_SystemMenu|#PB_Window_ScreenCentered, WindowID(0))
ButtonGadget(1, 10, 10, 200, 20, "Schließen")
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadget()
Case 1
CloseWindow(1)
Break
EndSelect
Case #PB_Event_CloseWindow
Select EventWindow()
Case 1
CloseWindow(1)
Break
EndSelect
EndSelect
ForEver
EndIf
EndProcedure
Procedure Mother_Window()
If OpenWindow(0, 0, 0, 300, 200, "Mother Window", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
ButtonGadget(0, 10, 10, 200, 20, "Child-Fenster öffnen")
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadget()
Case 0
DisableWindow(0, 1)
Child_Window()
DisableWindow(0, 0)
EndSelect
Case #PB_Event_CloseWindow
Select EventWindow()
Case 0
CloseWindow(0)
Break
EndSelect
EndSelect
ForEver
EndIf
End
EndProcedure
Mother_Window()