Jupp, es gibt einen Standard-Property-Editor für TCollection und deine Objekte müssen dann nur von TCollectionItem erben.
PS: Es muß dort zwingend ein Setter definiert werden, da sonst nicht gespeichert wird.
Viele Andere und ich habeb diesen Setter aber meistens als "Assign" deklariert.
Delphi-Quellcode:
type
TMeinButton = class(TControl)
private
FButtons: TMyList;
procedure AssignButtons(const List: TMyList); // hier drin wird FButtons geleert (Clear) und dann die Items der Liste umkopiert
public
property Buttons: TMyList read FButtons write AssignButtons;
end;
Ansonsten wirst du dir selber einen eigenen Property-Editor (OTA) bauen müssen, wenn du nicht TCollection verwenden magst.