Hallo Martin,
der folgende Beispielcode zeigt, wie man mit mehreren Fenstern arbeiten
kann. Falls was unklar ist: Nachfragen!
Kleiner Tipp noch: Wenn Du in diesem Board Deinen Code postest, dann
verwende bitte in zukunft den Code-Button im Nachrichtenfenster. Danke!
Code: Alles auswählen
Enumeration
#Window_1
#Window_2
#Button_1
#Button_2
EndEnumeration
If OpenWindow(#Window_1, 200, 100, 300, 100, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget,"Ich bin Fenster Nr. 1")
If CreateGadgetList(WindowID(#Window_1))
ButtonGadget(#Button_1,5,5,100,24,"ButtonGadget1")
Fenster_1_OK = #True
EndIf
EndIf
If OpenWindow(#Window_2, 200, 250, 300, 100, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget,"Ich bin Fenster Nr. 2")
If CreateGadgetList(WindowID(#Window_2))
ButtonGadget(#Button_2,5,5,100,24,"ButtonGadget2")
Fenster_2_OK = #True
EndIf
EndIf
If Fenster_1_OK = #False Or Fenster_2_OK = #False
MessageRequester("", "Die Fenster konnten nicht erstellt werden!")
End
EndIf
Repeat
EventID.l = WaitWindowEvent()
EventWindowID.l = EventWindowID()
EventGadgetID.l = EventGadgetID()
Select EventWindowID
Case #Window_1 ; In diesem Zweig werden nur Ereignisse verarbeitet, die das Fenster 1 betreffen
Select EventID
Case #PB_EventGadget
Select EventGadgetID
Case #Button_1
MessageRequester("", "Button1 in Fenster1 gedrückt")
EndSelect
Case #PB_Event_CloseWindow
CloseWindow(#Window_1)
Window_1_IsClosed = #True
EndSelect
Case #Window_2 ; In diesem Zweig werden nur Ereignisse verarbeitet, die das Fenster 2 betreffen
Select EventID
Case #PB_EventGadget
Select EventGadgetID
Case #Button_2
MessageRequester("", "Button2 in Fenster2 gedrückt")
EndSelect
Case #PB_Event_CloseWindow
CloseWindow(#Window_2)
Window_2_IsClosed = #True
EndSelect
EndSelect
Until Window_1_IsClosed = #True And Window_2_IsClosed = #True
MessageRequester("", "Beide Fenster wurden geschlossen. Das Programm wird nun beendet")
End
Grüße ... Kiffi