Derzeit ich diesen Code haben einige Knoten zu einem VST
Wie fügt man keinen sichtbaren Knoten in Virtualstringtree hinzu?
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;
I-Knoten im nicht-sichtbaren Zustand hinzufügen möchten hinzufügen, meine ich völlig unsichtbar.
Ich weiß, dass ich die Sichtbarkeit des Knotens mit VDT1.IsVisible[Node] := boolean;
es nach dem Hinzufügen festlegen Aber ich möchte es einrichten nicht sichtbar, bevor sie im Baum zeigt den Datensatz bedenkt, dass ich hinzufügen, ist auf DATArecord.Visible:= False;
Also, wenn Datarecord.visible
ist gleich wahr, füge den Knoten mit sichtbarem Status hinzu. Wenn es falsch ist, füge den Knoten mit nicht sichtbarem Zustand hinzu, wie kann ich das tun?
Was hält Sie davon ab, 'AVST.IsVisible [Result]: = AObject.Visible;' sofort nach dem Erstellen des Knotens zu setzen? Dem Benutzer wird nicht angezeigt, dass der Knoten hinzugefügt wurde, da Sie sich zum Zeitpunkt der Erstellung des Knotens im Paar "(Begin/End) Update" befinden. –
@RemyLebeau wow so einfach, ich fange wirklich an zu glauben, dass ich wirklich dumm oder sogar geistig zurückgeblieben bin. Vielen Dank, das war sehr einfach –