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 для создания экземпляра.