因为TreeView的节点没有ID,所以只能通过回朔法遍历查找或通过用户选择所需的节点

解决方案 »

  1.   

    因为TreeView.Items[ID]中的ID号是动态变化的,所以不能通过ID来查找子节点
    可以预先定义若干TTreeNode来保存固定的根节点;或通过TreeView.Selected来想办法
      

  2.   

    LYBT(一艘小船),可以能具体点吗?
      

  3.   

    为什么不能?可以遍历啊,通过Treeview.items[i].text查找一样可以实现!总会有办法的!
      

  4.   

    在所有节点中找一个名字叫 'AAA' 节点:
     for i:=0 to Treeview1.Items.Count-1 do
       begin
         if Treeview1.Items[i].Text='AAA' then 
            begin
               Node:=Treeview1.Items[i];
               Break;
            end;
       end; 在选中节点的子节点中找一个名字叫 'AAA' 节点:    
      for I:=0 to Treeview1.Selected.Count-1 do
        if Treeview1.Selected.Item[i].text='AAA' then 
          begin
             Node:=Treeview1.Selected.Item[i];
             break;
          end;        
      

  5.   

    var
      i:integer;
      findItem:Ttreenode;
      NodeRect: TRect;
    begin
      for i:=1 to TreeView1.Items.count-1 do
      begin
      findItem:=TreeView1.Items.Item[i];
      if finditem.text='AAA' then
        begin
          finditem.Selected:=true;
          showmessage('找到:'+finditem.text);
          break;
        end;
      end;
    end;