TreeView如这样
aa
  bb
  cc
  dd
  ee
  ... 
问题是:能不能让bb先得到焦点,然后依次让bb,cc,dd,ee得到焦点,请高手多多指导,不胜感谢。=========================================================================

解决方案 »

  1.   

    不明白你的意思。为什么要这样做?这里先给出方法。
    假设MyNode是“aa”节点,则:
    MyNode.Item[0].Selected:=true;
    ...
    MyNode.Item[1].Selected:=true;
    ...
    ......
      

  2.   

    我需要在aa、bb、cc....上动态生成多个子节点,所以我想让他们依次得到焦点, 这样行吗?
      

  3.   

    这是一个递归遍例所有接点函数,根据你的具体情况改改
    procedure ChouXiangSheBeiNode(rNode, sNode: TTreeNode);
    var
      I:integer;
    begin
      for I := 0 to sNode.Count-1 do
        begin
          ChouXiangSheBeiNode(rNode, sNode.Item[I]);
        end;
    end;
      

  4.   


      node.Item[0].Selected:=True;
      showmessage(node.Text );
    node.Item[0].Selected:=True;
      showmessage(node.Text );
     为什么我执行上面两句后showmessage显示的总是是aa,而不是bb和 cc呢?救命啊?!
      

  5.   

    这样写:
    node.Item[0].Selected:=True;
    showmessage(node.Item[0].Text );//aa
    node.Item[1].Selected:=True;
    showmessage(node.Item[1].Text );//bb
      

  6.   

    我需要在aa、bb、cc....上动态生成多个子节点,所以我想让他们依次得到焦点, 这样行吗?你不就是要动态生成多个子节点吗,不需要给他们焦点你在生成这个树的时候就给那些子节点添加子节点啊,如果想在现有的树上增加节点,那这样就可以了procedure TForm1.Button1Click(Sender: TObject);
    var
      node,node2:TTreeNode;
      i:integer;
    begin
      node:=Treeview1.Items.AddFirst(nil,'aa');
      Treeview1.Items.AddChild(node,'bb');
      Treeview1.Items.AddChild(node,'cc');
      Treeview1.Items.AddChild(node,'dd');
      Treeview1.Items.AddChild(node,'ee');  node2:=node.getFirstChild;
      for i:=0 to node.Count-1 do
      begin
        Treeview1.Items.AddChild(node2,'ff');
        Node2:=node.GetNextChild(node2);  end;
    end;