1

对于我自己的 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 的示例很感兴趣。

乔海因茨 Z.

4

1 回答 1

2

此处的目的是提供这些额外的列属性作为 TCollectionItem 本身的已发布属性。因此,当您选择项目时,它会被选择到对象检查器中,然后您可以在其中编辑和更改值。

只需创建 TCollectionItem 的后代并发布表示您希望可编辑的额外属性的属性。确保在构造 TCollection 后代时,指定要实例化的 TCollectionItem 类型。

于 2010-02-17T21:53:40.250 回答