如题:谢谢!

解决方案 »

  1.   

    写一点逻辑代码吧。
    var
      tnNow,tnLast:TTreeNode;procedure TForm1.FormShow(Sender: TObject);
    begin
        tnNow:=nil;
        tnLast:=nil;
    end;procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
    begin
        tnLast:=tnNow;
        tnNow:=Node;
    end;procedure TForm1.BitBtn1Click(Sender: TObject);
    begin
        if tnNow<>nil then
            Edit1.Text:=tnNow.Text;
        if tnLast<>nil then
            Edit2.Text:=tnLast.Text;
    end;
      

  2.   

    不想用其它按钮 只在treeview里能不能得到?谢谢!
      

  3.   

    你可以在click和changing这两个事件中写入,以changing这里面得到的是前一个值,而click中得到的是节点移动后的值.procedure TfrmGdlTree.TreeView1Changing(Sender: TObject; Node: TTreeNode;
      var AllowChange: Boolean);
    var
    tmp : string;
    begin
      inherited;
      try
      tmp:= TreeView1.Selected.Text ;
       except
       end;
    end;
      

  4.   

    如果你还要更好的配合使用的话,可以click和changing和Expanding这几个事件一起配合使用,可以很方便得到值或得到节点位置.举个简单例子给你看看先procedure TfrmGdlTree.TreeView1Expanding(Sender: TObject; Node: TTreeNode;
      var AllowExpansion: Boolean);
      var
      tmpstr : string;
    begin
      inherited;
      try
      if treeview1<>nil then//  Node.Focused ;
      node.Selected:=true ;
      except
      end;
    end;
      

  5.   

    if treeview1.selected.parent<>nil then
      TmpStr:= treeview1.Selected.Parent.text ;
    else
    或者这样也可以得到前节点的值.快结贴吧,自己回去在查找一些资料,很容易的