3
は現在、私はVST
どのように追加するには可視のノードVirtualstringtree?
function AddVSTStructure(AVST: TCustomVirtualStringTree; ANode: PVirtualNode; AObject: TDATArecord): PVirtualNode;
var
Data: PUserData;
begin
Result := AVST.AddChild(ANode);
Data := AVST.GetNodeData(Result);
AVST.ValidateNode(Result, false);
Data^.FObject := AObject;
end;
//adding node
VDT1.BeginUpdate;
try
DATArecord.name := 'nodename';
DATArecord.Visible:= False;
AddVSTStructure(VDT1, nil, DATArecord);
finally
VDT1.EndUpdate;
end;
にいくつかのノードを追加するには、このコードを持っている私は、私は完全に見えない意味し、非可視の状態でノードを追加します。
は私がVDT1.IsVisible[Node] := boolean;
を使用して、それを追加した後、ノードの可視性を設定することができます知っているが、私はDatarecord.visible
をすれば、非可視私は
のでDATArecord.Visible:= False;
に設定されている追加のレコードを考慮し、ツリーに表示する前にそれを設定したいですがtrueの場合は、可視状態のノードを追加します。その偽の場合は、非可視状態のノードを追加します。どうすればいいですか?
ノードの作成直後に 'AVST.IsVisible [Result]:= AObject.Visible; 'を設定することを止めたいのは何ですか?ノードを作成した時点で '(Begin/End)Update'ペアの中にいるので、追加されたノードは表示されません。 –
@RemyLebeauうわー、私は本当に馬鹿だと思っています。非常にありがとう、それはとてもシンプルでした –