

Wie kann ich es anstellen das ich nurnoch ein Window in meinem Programm benutzen kann (So wie z.B. der MessageRequester)?
KeyKon
Code: Alles auswählen
#WindowA = 0
#WindowB = 1
#ButtonA = 0
#ButtonB = 1
Procedure Open_WindowB()
If OpenWindow(#WindowB, 0, 0, 480, 360, #PB_Window_SystemMenu | #PB_Window_WindowCentered, "Window B", WindowID(#WindowA)) And CreateGadgetList(WindowID(#WindowB))
ButtonGadget(#ButtonB, 10, 10, 100, 25, "Close Window B")
DisableWindow(#WindowA, #True)
SetActiveWindow(#WindowB)
ProcedureReturn #True
EndIf
MessageRequester("Error", "Could not open Window B", #MB_ICONERROR)
ProcedureReturn #False
EndProcedure
Procedure Close_WindowB()
CloseWindow(#WindowB)
DisableWindow(#WindowA, #False)
SetActiveWindow(#WindowA)
EndProcedure
Procedure Event_WindowB(Event.l)
Select Event
Case #PB_Event_Gadget
If EventGadget() = #ButtonB
Close_WindowB()
EndIf
Case #PB_Event_CloseWindow
Close_WindowB()
EndSelect
EndProcedure
Procedure Open_WindowA()
If OpenWindow(#WindowA, 0, 0, 640, 480, #PB_Window_SystemMenu | #PB_Window_ScreenCentered, "Window A") And CreateGadgetList(WindowID(#WindowA))
ButtonGadget(#ButtonA, 10, 10, 100, 25, "Open Window B")
ProcedureReturn #True
EndIf
MessageRequester("Error", "Could not open Window A", #MB_ICONERROR)
ProcedureReturn #False
EndProcedure
Procedure Close_WindowA()
End
EndProcedure
Procedure Event_WindowA(Event.l)
Select Event
Case #PB_Event_Gadget
If EventGadget() = #ButtonA
Open_WindowB()
EndIf
Case #PB_Event_CloseWindow
Close_WindowA()
EndSelect
EndProcedure
If Open_WindowA()
Repeat
Event.l = WaitWindowEvent()
If Event
Select EventWindow()
Case #WindowA
Event_WindowA(Event)
Case #WindowB
Event_WindowB(Event)
EndSelect
EndIf
ForEver
EndIf
End