设计意图:
1、动态生成TTreeView三级菜单
2、双击TTreeView的2-3级不同节点,获得这个节点的位置(即序列号),根据节点的名字做其他的处理。请各位大哥帮帮忙

解决方案 »

  1.   

    procedure treeview1.ondoubleclick(sender:Tobject);
    begin
    IF  TreeView1.selected.level=2  then
       begin
        name=treeview1.selected.text;
        做其他的处理。
       end;
    end;
      

  2.   

    根据完整路径判别
      function  GetNodePath(TreeView: TTreeView;
        ANode: TTreeNode = nil):String;overload;
      function  GetNodePath(ANode: TTreeNode):String;overload;function  GetNodePath(TreeView: TTreeView; ANode: TTreeNode = nil):String;
    var
      Tmp: TTreeNode;
    begin
      if not Assigned(ANode) then
        Tmp := TreeView.Selected
      else
        Tmp := ANode;
      if Tmp = nil then begin
        Result := '';
        Exit;
      end;
      Result := Tmp.Text;
      while Tmp.Parent <> nil do begin
        Tmp := Tmp.Parent;
        Result := Tmp.Text + '\' + Result;
      end;
    end;function  GetNodePath(ANode: TTreeNode):String;
    begin
      if Assigned(ANode) then
        Result := GetNodePath(TTreeView(ANode.TreeView), ANode)
      else
        Result := '';
    end;
      

  3.   

    是不是想搞成mmc那种样子的界面
    1、如果树项不是很多,确定只有三层的话就一下子画出来好了
    2、节点的位置(即序列号)是指什么