3
은 현재 내가 보이지 않는 상태에서 노드를 추가 할 VST
아무 것도 추가하지 않는 방법 Virtualstringtree에 Node?
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 인 경우, 가시 상태의 노드를 추가하십시오. false 인 경우 노드를 보이지 않는 상태로 추가합니다. 어떻게 할 수 있습니까?
노드 생성 직후에 AVST.IsVisible [Result] : = AObject.Visible;을 설정하지 못하게하는 것은 무엇입니까? 사용자는 노드를 생성 할 때'(Begin/End) Update' 쌍 안에 있기 때문에 추가 된 노드를 보지 않을 것입니다. –
@RemyLebeau 와우, 나는 정말로 내가 어리 석거나 정신적으로 지체되었다고 생각하기 쉽다. 매우 고맙습니다. 매우 간단했습니다. –