选择TTreeview儿童

时间:2014-12-13 20:27:02

标签: delphi

我试图在树视图中获取所选节点的所有子节点,但遇到了一些问题。

以此树视图为例:

enter image description here

我想让所有明亮的子节点突出显示为“文件夹”节点,该节点将是旁边有蓝线的子节点。

这就是我的尝试:

procedure Form1.GetTreeChilds(ANode: TTreenode);
begin
  while ANode <> nil do
  begin
    ListBox1.Items.Add(ANode.Text);
    ANode := ANode.GetNext;
  end;
end;

它的工作原理除了它还将不是子项的项目6返回到黄色突出显示的“文件夹”。

我需要更改或执行哪些操作才能将子节点设置为黄色高位文件夹?

感谢。

1 个答案:

答案 0 :(得分:4)

请改为尝试:

procedure Form1.GetTreeChilds(ANode: TTreeNode);
begin
  ANode := ANode.GetFirstChild;
  if ANode = nil then Exit;
  ListBox1.Items.BeginUpdate;
  try
    repeat
      ListBox1.Items.Add(ANode.Text);
      GetTreeChilds(ANode);
      ANode := ANode.GetNextSibling;
    until ANode = nil;
  finally
    ListBox1.Items.EndUpdate;
  end;
end;