突出显示集中的节点



在VirtualTreeView中使用getPrevious(node)或getNext(node)时,是否有可能在上一个或下一个节点上获得蓝色的亮点,例如通过单击?

Div>

这就是您用蓝色突出显示节点的方式:(或在vst.colors上设置的其他颜色...)
VST.Selected[Node] := True;

不要与: VST.FocusedNode

混合

您可能会考虑先选择先前的蓝色。如果VST.TreeOptions.SelectionOptions >> toMultiSelect = False,就足以简单地"记住"最后一个:

var
  LastSelected: PVirtualNode;  // you can put this to the Form's private section
...  
procedure DeselectLastOne();
begin
  if (csDestroying in VST.ComponentState) then Exit;
  if Assigned(LastSelected) then begin
    VST.Selected[LastSelected] := False;
    LastSelected := nil;
  end;
end;
procedure SelectNewOne(N: PVirtualNode);
begin
  if (csDestroying in VST.ComponentState) then Exit;
  DeselectLastOne();
  VST.Selected[N] := True;
  LastSelected := N;  
end;          
initialization
  LastSelected = nil;  // you can put this to the Form's OnCreate proc.

但是,如果您设置了VST.TreeOptions.SelectionOptions >> toMultiSelect = True,则必须先通过VST.SelectedNodes()函数迭代以取消选择所有突出显示的节点。

另请参见:VST.SelectedCount : integer;VST.GetFirstSelected()VST.GetNextSelected()

相关内容

  • 没有找到相关文章

最新更新