procedure TForm1.AccessNode(MyNode: TTreeNode);
var i:integer;
begin
    for i:=0 to MyNode.Count-1 do
      begin
        ListBox1.Items.Add(MyNode.Item[i].Text);
        if MyNode.Item[i].getFirstChild<>nil then  AccessNode(MyNode.Item[i]);
      end;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
  AccessNode( Treeview1.Selected);
end;可以吗?

解决方案 »

  1.   

    var 
    i;integer; 
    xx:TListItem; 
    begin 
    for i:=1 to Listview1.Items.count-1 
    begin 
    xx:=ListView.Items.Item[i]; 
    //process xx here 
    end; 
    end; 用Node.Absoluteindex属性即可! 
      

  2.   

    to  hansonboy(良)
    先试试看!!!!!!!!!
      

  3.   

    Var Node,TempNode:TTreeNode;
      ....
      //当前节点
      Node := ANode ;
      While Node<>nil do
      begin
        TempNode := Node.getNextSibling;
        if TempNode<>nil Then Break;
        TempNode:= Node ;
        Node := Node.Parent;
      end;
      Node := ANode.getFirstChild ;
      if Node=nil then Exit;
      While (TempNode<>Node) do
      begin
        Node.StateIndex := gSelectNodeImageIndex;
        Node := Node.GetNext;
        if Node =nil then Break;
      end;
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      CurrentNode:TTreeNode;
      IntLoop:Integer;
    begin
      CurrentNode:=TreeView1.Items.GetFirstNode;
      for IntLoop:=0 to (TreeView1.Items.Count -1) do
      begin
        ListBox1.Items.Add(CurrentNode.Text);
        CurrentNode:=CurrentNode.GetNext;
      end;
    end;end.以上代码经本人编译通过,可以复用。