TCollection PropertyEditor с редактируемыми столбцами

Для своего потомка TCollection я хочу расширить редактор свойств коллекции. Я хочу видеть больше столбцов для других свойств моего TCollectionItem. И мне повезло, потому что это довольно легко. Единственное, что я хочу сделать, это переопределить эти три метода

TAttributeList = class(TOwnedCollection)
private
  ...
protected
  function GetAttrCount: Integer; override;
  function GetAttr(Index: Integer): string; override;
  function GetItemAttr(Index, ItemIndex: Integer): string; override;
public
  ...
end;

чтобы получить количество столбцов, заголовок столбца и значение столбца для элемента коллекции.

Теперь я хочу редактировать атрибуты ячеек. Веселье останавливается, и я сам пишу полный редактор коллекций (возможно, в качестве копии или потомка TCollectionEditor в модуле ColnEdit.pas)?

Я надеюсь, что есть что-то более простое, но в остальном мне интересно на примере сборки сложного TCollectionEditor.

Ciao Heinz Z.

1 ответ

Решение

Намерение здесь состоит в том, чтобы предоставить эти дополнительные атрибуты столбцов как опубликованные свойства самим TCollectionItem. Поэтому, когда вы выбираете элемент, он выбирается в инспекторе объектов, где вы можете затем редактировать и изменять значения.

Просто создайте потомок TCollectionItem и опубликуйте свойства, которые представляют дополнительные атрибуты, которые вы хотите редактировать. Убедитесь, что при создании потомка TCollection вы указываете тип TCollectionItem для создания экземпляра.

Другие вопросы по тегам