EnableExplicit Procedure Timer() Protected RECT1.RECT Protected RECT2.RECT Protected RectRgn Select EventTimer() Case 1 GetWindowRect_(WindowID(0), RECT1) GetWindowRect_(WindowID(1), RECT2) RectRgn = CreateRectRgn_(RECT1\left, RECT1\top, RECT1\right, RECT1\bottom) If RectInRegion_(RectRgn, RECT2) Debug "Beide Fenster überschneiden sich." Else Debug "Beide Fenster überschneiden sich nicht." EndIf DeleteObject_(RectRgn) EndSelect EndProcedure If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) If OpenWindow(1, 100, 100, 400, 300, "SubWindow", 0, WindowID(0)) EndIf AddWindowTimer(0, 1, 100) BindEvent(#PB_Event_Timer, @Timer(), 0) Repeat Select WaitWindowEvent() Case #PB_Event_CloseWindow End EndSelect ForEver EndIf