Also irgendwo hatte ich mal ein Tut dazu gesehen, glaube war wegen Pointern oder so, egal.
Ja da ist dein Ansatz doch schon ganz richtig, mann müsste in etwa (IMHO) so vorgehen:
1.Paintbox zum als Zeichenfläche
2.z.B. TDrawFigure Klasse erstellen und von dieser die Objekte ableiten(TRechteck,TKreis,..). Idealerweise hat diese Überklasse schon das wichtigste dabei was überall da ist (Mittelpunkt,DrawMethode(virtuell),...)
3.Die Unterklassen füllen diese mit Leben
4.Dein Programm bekommt eine TObjectList in der Objekte dieser Unterklassen eingefügt werden
5.Diese hat IMHO auch schon eine Methode zum speichern ihrer ganzen Objekte
Das wars

hoffe ist nicht zu sehr gerafft.