当双击某TreeNode的某个时候,我想获取被双击的根目录和被双击的数据,而双击根目录时候我只是要把他的子项展开,我想问下怎么实现;(我获取子项的根节点不知道用什么函数,而且双击根节点时候只展开其子项不想做和双击子节点一样的操作)
可能没说清楚:
举例如下:
var
  MyTreeNode1, MyTreeNode2: TTreeNode;
begin
  with TreeView1.Items do
  begin
.........
    MyTreeNode1 := Add(nil, 'RootTreeNode1'); { Add a root node }
    { Add a child node to the node just added }
    AddChild(MyTreeNode1,'ChildNode1'); AddChild(MyTreeNode1, 'ChildNode2');
.........................    
  end;end;
当双击'ChildNode2'时候获取'RootTreeNode1'和'ChildNode2'的内容;
而当双击'RootTreeNode1'时候只是展开该节点,或收拢该节点
这个其实我知道好简单的(我没做过所以感觉不知道做)我想求下代码,
帮个忙

解决方案 »

  1.   

    TreeView1.Selected.Text;//得到接点的内容
    TreeView1.Selected.GetFirstChild//得到第一个子接点
      

  2.   

    function   ParentNodeTree(pTreeNode:   TTreeNode;   var   treePath:   string):   string;   
      begin   
          treePath   :=   pTreeNode.Text   +   '   >   '   +   treePath;   
          if   pTreeNode.Level   =   0   then   Result   :=   treePath   
          else   
              Result   :=   ParentNodeTree(pTreeNode.Parent,   treePath);   
      end;   
        
      procedure   TForm1.TreeViewClick(Sender:   TObject);   
      var   
          sPath:   string;   
      begin   
          label1.Caption   :=   ParentNodeTree(TreeView.Selected,   sPath);   
      end;   
        
      (注:可取得所有的Parent)
      

  3.   

    code=Delphi(Pascal)]
    procedure TMainF.tvMainDblClick(Sender: TObject);
    begin
    if (tvMain.Selected <> nil) and (tvMain.Selected.Selected) and (tvMain.Selected.Parent <> nil) then
    begin
    ..............
    end;
    end;
    [/code]
    我刚刚做的,测试了下感觉还行,不知道大家怎么做的