有父节点,子节点,孙节点当点击子节点,如何获取父节点?
当点击孙节点,如何获取父节点和子节点?
谢谢!!

解决方案 »

  1.   

    //下面是一个简单的例子,其他的参考着修改一下
    procedure TForm1.Button2Click(Sender: TObject);
    var
      ChildNode: TTreeNode;
    begin
      if TreeView1.Selected = nil then exit;
      if TreeView1.Selected.Parent <> nil   then
      begin
        ShowMessage(TreeView1.Selected.Parent.Text); //父节点
        ChildNode := TreeView1.Selected.getFirstChild;
        while ChildNode <> nil do
        begin
          ShowMessage(ChildNode.Text); //当前节点的子节点   
          ChildNode := ChildNode.getNextSibling;
        end;
      end;
    end;
      

  2.   

    yq3woaini:您好,
    我的意思是:当点击孙节点(第3层),如何获取子节点(第2层),和父节点(第1层),?
    谢谢!!应该如何搞??
      

  3.   

    OnChange event 
    procedure(Sender: TObject; Node: TTreeNode) of objecttn := node.Parent;
    if tn <> nil then tn2 := tn.Parent;
      

  4.   

    点子节点,通过TreeView.Selected.Parent得到父节点。
    孙节点类推
      

  5.   

    //下面是一个简单的例子,其他的参考着修改一下
    procedure TForm1.Button2Click(Sender: TObject);
    var
      ChildNode: TTreeNode;
    begin
      if TreeView1.Selected = nil then exit;
      if TreeView1.Selected.Parent <> nil   then
      begin
        ShowMessage(TreeView1.Selected.Parent.Text); //父节点
        ChildNode := TreeView1.Selected.getFirstChild;
        while ChildNode <> nil do
        begin
          ShowMessage(ChildNode.Text); //当前节点的子节点   
          ChildNode := ChildNode.getNextSibling;
        end;
      end;
    end;
      

  6.   

    用parent属性不就可以了吗,一级级的往上推啊
      

  7.   

    就时一次,和两层parent的问题呀