如何在虚拟树视图中获取当前选中的节点

How to Get the Current Selected Node in Virtual Tree View

我正在使用带有虚拟树视图的 Delphi XE3。如果multiselect为False,如何获取虚拟树视图中当前选中的节点。我在文档中找到了相关的方法:

TBasedVirtualTree.Selected[]:这个需要一个PVirtualNode作为索引来获取选择状态

但不会给出当前选中的节点。

我将描述我如何尝试找出解决方案的过程:

  1. 首先,我尝试在Virtual TreeView的帮助文档中搜索,关键字为"Selected"。然后我会得到71个结果。其中我找到了TBaseVirtualTree.Selected属性,但这需要PVirtualNode作为索引

  2. 然后在帮助文档的右上角尝试查找相关属性,但只能找到SearchBuffer和SelectedCount,前者无关,后者是获取选中的节点数, 不是当前选中的节点。

  3. 这也是一个可以获取选中节点数组的函数。但是,当我尝试调用它时,我发现它不可用。

这就是我 post 这个问题的原因。

谢谢

TBaseVirtualTree中声明:

function GetFirstSelected(ConsiderChildrenAbove: Boolean = False): PVirtualNode;

请注意,您可能有几个选定的节点,要到达其他节点请调用

function GetNextSelected(Node: PVirtualNode; ConsiderChildrenAbove: Boolean = False): PVirtualNode;