在使用TREEVIEW时,有很多层的情况下,选中某个节点怎么样能记录下它所有的子结点的TEXT,注意是很多层,怎么记录 ?

解决方案 »

  1.   

    function FindInChild(aNode: TTreeNode;aText: string):TTreeNode;
    begin
      Result := nil;
      if aNode.Count = 0 then exit;
      aNode := aNode.GetFirstChild;
      while (aNode <> nil) do
      begin
        if aNode.Text=aText then
        begin
          Result := aNode;
          Break;
        end;
        Result := FindInChild(aNode,aText);
        if Result<>nil then Break;
        aNode := aNode.getNextSibling;
      end;
    end;
      

  2.   

    利用TTreeNode的
    GetNext,或GetNextChild 来得到节点进行判断。递归算法(嵌套算法)就可以的,这是经常用的。学校你学的久了不用就生疏了。

      

  3.   

    TreeView有一个subitem你可以看看!
    有问题请发信息到我的E-mail:[email protected]
      

  4.   

    搞定了,从以前的帖子中搜了一个,
    : Ivin(hx) 的方法没有试,主要是没看明白,不过还是谢谢