var
tempnode,savenode:TTreenode;
begin
Tempnode:=TreeView1.Selected;
Savenode:=Tempnode;
//tempnode.nextext/操作
TreeView1.Selected:=Savenode;
end;
 
我是这个写的先保存treeview的节点
操作完后在把节点给回原来的节点位置 ,是不是selected这个属性
不能TreeView1.Selected:=Savenode;
这个结点的位置应该怎么设置,大家帮帮小弟看看,谢了~

解决方案 »

  1.   

    试下这样:var TempNode:TTreenode;//全局变量procedure TForm1.Button1Click(Sender: TObject); //保存节点
    begin
       TreeView1.SetFocus;
       TempNode:=TreeView1.Selected;
    end;procedure TForm1.Button2Click(Sender: TObject);//恢复节点
    begin
      TreeView1.SetFocus;
      TreeView1.Selected:=TempNode;
    end;
      

  2.   

    整个树的每个节点都有一个唯一的INDEX,把这个值保存下列,然后用这个值去定位。
    Selected.AbsoluteIndex
      

  3.   

    To:上面的那位大哥,谢谢~
    我作的是dbtreeview,是这样的
    3  1
    4  3
    5  3
    6  3
    7  5 这是节点关系,我刚开始得到  3,1的根据3后在取出4,5,6, 最后到了 6,3,取出来的是6
    我想到最后在返回到3,1的位置
    做了不能知道,不知道为什么?
      

  4.   

    当有插入、删除节点发生时,Selected.AbsoluteIndex会改变。还是老之的方法安全。