Hallo,
wenn ich Dein Problem richtig verstehe, dann liegt es daran, dass du ja beim Aufziehen des Rechecks das "alte" Rechteck löschen musst und das neue Zeichnen.
Folgender Vorschlag von mir:
1. OnMouseDown
Inhalt der aktuellen Darstellung in ein Bitmap zwischenspeichern per BitBlt o.ä.
2. OnMouseMove
a) Den Inhalt von der Darstellung wie sie in MouseDown war auf die Canvas zeichnen (z.B. per BitBlt
)
b) Den durch die User-Interaktion hinzugekommenen Inhalt dazu oben drauf zeichnen
3. OnMouseUp
Temporäres Bitmap wieder löschen
Das funktioniert ganz gut und ermöglicht einem auch ganz andere Möglichkeiten einen Rahmen auf zu ziehen (Stichwort AlphaBlending). Aber das nur am Rande.
Gruß, Chris