Folgendermaßen: TZimmer bekommt ein Bitmap. Auf dieses wird gezeichnet. Dann bekommt TZimmer eine Eigenschaft, die das Bitmap zurückgibt. Dann wird das Bitmap eben bei Bedarf immer (OnPaint, OnCreate) auf die Paintbox kopiert. So mit verschwindet das gezeichnete auch nicht mehr, wenn die Paintbox überdeckt wurde.
Andere Möglichkeit:
Delphi-Quellcode:
type
TDummy = class
private
FCanvas: TCanvas
public
constructor create(Canvas: TCanvas);
end;
Aufruf:
Dummy.Create(Paintbox1.Canvas);
Zweiter Möglichkeit ist aber nicht so schön.