VirtualTreeView の IVTEditLink エディターに複数のコンポーネントを追加する方法はありますか?
1287 次
2 に答える
7
エディター コンテナーとしてスタンドアロン フォームを使用し、IVTEditLink
この目的のためにコンセプトを残します。
- たとえば、エディター コンポーネント コンテナーとして使用する場合は、その権利を
TPanel
選択することを検討する必要があります。多くのフィールドを持つエディターは、仮想ツリーの境界矩形またはフォームの境界と重なる場合がありますParent
TPanel
- コンポーネント
OnDeactivate
よりもフォームにイベントを実装する方がはるかに簡単ですTPanel
IVTEditLink
ここではその意味が失われるため、概念をそのままにしておくことができます。これIVTEditLink
は、ノード全体ではなく、特定のノードおよび列エディター向けに設計されています。OnEditing
イベントが到着したとき、またはダブルクリックイベントなどで、フォームエディターを開くだけです。
IVTEditLink
しかし、複数の列のノード編集の概念を残すことに納得できなかった場合は、インターフェースthis example
のエディターとしてのフォームの実装を確認できIVTEditLink
ます。
于 2012-01-08T14:32:25.170 に答える
0
OnCreateEditor
イベントでカスタム エディターを作成するだけです。このイベントはColumn
パラメーターを提供するため、異なる列に対して異なるエディターを作成できます。例えば:
procedure TForm1.OnCreateEditor(Sender: TBaseVirtualTree; Node: PVirtualNode;
Column: TColumnIndex; out EditLink: IVTEditLink);
begin
case Column of
0: EditLink := TColorEditLink.Create;
1: EditLink := TFontEditLink.Create;
//etc..
end;
end;
于 2012-01-08T12:39:30.160 に答える