Chciałbym wybrać wszystkie węzły główne lub wszystkie węzły podrzędne (nie wszystkie węzły w widoku VirtualTreeView).
Próbowałem użyć tego kodu, aby zaznaczyć wszystkie węzły root:Jak wybrać wszystkie węzły główne lub wszystkie węzły potomne w VirtualStringTree?
procedure SelectAllRoots;
var
Node: PVirtualNode;
begin
Form1.VirtualStringTree1.BeginUpdate;
Node := Form1.VirtualStringTree1.GetFirst;
while True do
begin
if Node = nil then
Break;
if not (vsSelected in Node.States) then
Node.States := Node.States + [vsSelected];
Node := Form1.VirtualStringTree1.GetNext(Node);
end;
Form1.VirtualStringTree1.EndUpdate;
end;
mogę powiedzieć, że to mała usterka. Wybór jest niekompletny lub utknął. Co ja robię źle ?
Edytuj:
Używam MultiSelection.
Mam włączoną właściwość multi select. Ten rodzaj zmusza mnie do korzystania z Node.States. Przepraszam, powinienem o tym wcześniej wspomnieć. –