Вопрос

для моего собственного потомка 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;

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

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

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

Ciao Heinz Z.

Это было полезно?

Решение

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top