delphi - 如何在虚拟树视图中获取当前选定的节点
问题描述
我正在使用带有虚拟树视图的 Delphi XE3。如果 multiselect 为 False,如何在虚拟树视图中获取当前选中的节点。我在文档中找到,并且有一个相关的方法:
TBasedVirtualTree.Selected[]:这需要一个 PVirtualNode 作为索引来获取选择状态。
但不会给出当前选中的节点。
我将描述我如何尝试找出解决方案的过程:
首先,我尝试在 Virtual TreeView 的帮助文档中搜索,关键字为“Selected”。然后我会得到 71 个结果。其中我找到了 TBaseVirtualTree.Selected 属性,但这需要 PVirtualNode 作为索引。
然后在帮助文档的右上角,我尝试找到相关的属性,但是只能找到SearchBuffer和SelectedCount,前者是无关的,后者是获取选中的节点数,而不是当前选中的节点。
这也是一个可以获取选定节点数组的函数。但是,当我尝试调用它时,我发现它不可用。
这就是我发布这个问题的原因。
谢谢
解决方案
声明于TBaseVirtualTree
:
function GetFirstSelected(ConsiderChildrenAbove: Boolean = False): PVirtualNode;
请注意,您可能有几个选定的节点,并且要访问其他节点,请调用
function GetNextSelected(Node: PVirtualNode; ConsiderChildrenAbove: Boolean = False): PVirtualNode;
推荐阅读
- php - POST http://localhost/website/wp-admin/admin-ajax.php 400(错误请求)
- ios - Xcode 10.3 其他 iOS 版本模拟器在哪里
- javascript - 切换没有状态的 React 复选框
- regex - 如何匹配字符串并忽略扩展名(如果存在)?
- api - 如何在空手道的 CSV 文件中设置值
- c++ - 自旋锁退避策略背后的原因
- c++ - 使用指针填充 c 字符串数组
- node.js - 我无法使用 npm 和 yarn 启动带有反应脚本的服务器?
- java - 什么时候需要为集合指定泛型类型?
- java - 如何在java-spring应用程序中并行调用多个soap调用