To display a meaningful name, override GetDisplayName:
function TMyCollectionItem.GetDisplayName: string; begin Result := 'My collection item name'; end;
To display the collection editor when a non-visual component double-clicked, you need to redefine the TComponentEditor editing procedure.
TMyPropertyEditor = class(TComponentEditor) public procedure Edit; override;
... and register the editor:
RegisterComponentEditor(TMyCollectionComponent, TMyPropertyEditor);
source share