现在的TreeView的结构如下:
TreeView
  |
  AAA—111
  |  —222
  |
  BBB—333
  |  —444
  |
  CCC—555
  |  —666现在我想点击Button1之后,能够直接使AAA文件夹移动到CCC文件夹的下面。而不是一步步地移下去,代码不知道如何写啊。
   

解决方案 »

  1.   

    先分别遍历查找得到AAA节点---> NodeAAA, CCC节点--->NodeCCC
    然后
      NodeAAA.MoveTo(NodeCCC, naAddChild);
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
        i:integer;
        index1,index2:integer;
        Node1,Node2:TTreeNode;
    begin
        index1:=-1;
        index2:=-1;
        for i:=0 to TreeView1.Items.Count-1 do
        begin
            if TreeView1.Items[i].Text='AAA' then
                index1:=i;
            if TreeView1.Items[i].Text='CCC' then
                index2:=i;
        end;    if (index1>=0) and (index2>=0) then
            TreeView1.Items[index1].MoveTo(TreeView1.Items[index2],naAddChild);
    end;
      

  3.   

    gzmhero(hihihi)的方法可行,但AAA和CCC是可变的,不知如何处理啊?
      

  4.   

    你想移动的结点,只要能够定位就可以了。
    这里是通过名字定位的,还可以通过其他办法。你要把问题表达清楚,AAA,CCC是什么,可变的,什么意思?一定有区别。
      

  5.   

    if TreeView1.Items[i].Text='AAA' then  这里的"AAA"的值我是知道的可以这样;
    if TreeView1.Items[i].Text='CCC' then  因为这里的"CCC"的数据是不一定的,可能是"CCC",也可能是"DDD"
    另外我要的结果是这样的:TreeView
      |
      BBB—333
      |  —444
      |
      CCC—555
      |  —666
      |
      AAA—111
      |  —222实际上是要获得与"AAA"同一Level的最后一项的AbsoluteIndex的值.
    请gzmhero(hihihi)帮助一下,谢谢了.
      

  6.   

    procedure TForm1.BitBtn1Click(Sender: TObject);
    var
        i:integer;
        index1,index2:integer;
        Node1,Node2:TTreeNode;
    begin
        index1:=-1;
        index2:=-1;
        for i:=0 to TreeView1.Items.Count-1 do
            if TreeView1.Items[i].Text='AAA' then
                index1:=i;    for i:=TreeView1.Items.Count-1 downto 0 do
            if TreeView1.Items[i].Level=TreeView1.Items[index1].Level then
            begin
                index2:=i;
                break;
            end;
        if (index1>=0) and (index2>=0) then
            TreeView1.Items[index1].MoveTo(TreeView1.Items[index2],naAddChild);
    end;
      

  7.   

    谢谢gzmhero(hihihi),问题解决了.