質問

私自身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.pasでTCollectionEditorのコピーやdesendantなど)自分で完全なコレクションエディタを書く持っていますか?

私はシンプルな何かがあると思いますが、そうでない場合、私は、ビルドの例では、複雑なTCollectionEditorを面白います。

チャオハインツZ.

役に立ちましたか?

解決

ここでの意図は、TCollectionItemの者自身のパブリッシュプロパティとして、これらの余分な列の属性を提供することです。ですから、項目を選択すると、それはあなたがして値を編集して変更することができ、オブジェクトインスペクタに選択されます。

ただ、TCollectionItemのの子孫を作成し、編集可能にする特別な属性を表すプロパティを公開します。あなたはTCollectionの子孫を構築する際に確認してください、あなたはインスタンス化するために、あなたのTCollectionItemのタイプを指定します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top