Warum so kompliziert? Warum nutzt du nicht einfach
TCanvas.ClipRect, welches den dreckigen Bereich angibt. Mit diesem Rechteck kannst du zusamemn mit deinem
ClientRect das Überschneidungsrechteck berechnen (
IntersectRect). Wenn die Funktion false zurück gibt, gibt es keine Überschneidung, also brauchst du dann gar nicht zu zeichnen. Im anderen Falle musst du nur noch das berechnete Rechteck in deinem Clientbereich malen.