編集可能な列を含むTCollectionのPropertyEditorは
-
21-09-2019 - |
質問
私自身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のタイプを指定します。
所属していません StackOverflow