1

私自身の TCollection の子孫のために、コレクション プロパティ エディタを拡張したいと考えています。TCollectionItem の他のプロパティの列をもっと見たいです。それはとても簡単なので、私はラッキーです。私がやりたいことは、これら3つのメソッドをオーバーライドすることだけでした

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

コレクションのアイテムの列の数、列のタイトル、および列の値を取得します。

次に、属性セルを編集します。ここで楽しいことは終わりです。私は自分で完全なコレクション エディタを作成しましたか (ColnEdit.pa ユニットの TCollectionEditor のコピーまたは子孫として)。

もっと単純なものがあることを願っていますが、それ以外の場合は、複雑な TCollectionEditor を構築する例に興味があります。

チャオ・ハインツ Z.

4

1 に答える 1

2

ここでの意図は、これらの追加の列属性を TCollectionItem 自体の公開されたプロパティとして提供することです。そのため、アイテムを選択すると、オブジェクト インスペクターに選択され、そこで値を編集および変更できます。

TCollectionItem の子孫を作成し、編集可能にしたい追加の属性を表すプロパティを公開するだけです。TCollection の子孫を構築するときは、インスタンス化する TCollectionItem タイプを指定してください。

于 2010-02-17T21:53:40.250 に答える