gpt4 book ai didi

delphi - 如何获取特定树节点的根索引?

转载 作者:行者123 更新时间:2023-12-03 15:22:14 25 4
gpt4 key购买 nike

我遇到了 TreeView 中节点索引的差异。该树只有 2 层层次结构,即多个根节点和每个根节点下的多个节点。当我读取 TTreeView.Selected.Index 时,我仅获取根节点的索引,但是当我读取 TTreeView.Items[TTreeView.Selected.Index] (迭代中)一个循环),我得到一个完全不同的树节点。

一个更具体的例子,假设我有这个数据:

  • 根1
    • 第 1.1 项
    • 第 1.2 项
    • 第 1.3 项
  • 根2
    • 第 2.1 项
    • 第 2.2 项
    • 第 2.3 项
  • 根3
    • 第 3.1 项
    • 第 3.2 项
    • 第 3.3 项

现在假设我选择“Root 3”并读取TTreeView.Selected.Index,它将返回2。但是,当我读取 TTreeView.Items[2] 时,它返回“Item 1.2”,因为它实际上是列表中的第三项。我选择的“Root 3”实际上是索引号8。

读取当前所选根节点索引的正确方法是什么,这样我会得到 8 而不是 2

最佳答案

TTreeNode.Index 是相对于TTreeNode.Parent 的。 TTreeView.Items[] 使用绝对索引,因此请使用 TTreeNode.AbsoluteIndex 代替。但是,Items[Selected.AbsoluteIndex] 是多余且低效的,因为它返回与 Selected 返回的相同的 TTreeNode

关于delphi - 如何获取特定树节点的根索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14175953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com