各位朋友,代码如下:当点击按钮的时候,可以增加两个节点,分别是工厂和公司这两个根节点问题1:怎样做,才能在“工人1”下面再增加“工人1_1”,然后在“工人_1_1”节点再增加一个"工人_1_1_1"呢?
procedure TFrm_Test.Button1Click(Sender: TObject);
var
  DepNode, DepNode1,DepNode1_1, DepNode2,DepNode2_2: TTreeNode; //定义一个暂时存储院系结点的临时变量
  Dep: string;
begin  DepNode1 := TreeView1.Items.Add(nil, '工厂');
  DepNode2 := TreeView1.Items.Add(nil, '公司');  TreeView1.Items.AddChild(DepNode1, '工人1');
  TreeView1.Items.AddChild(DepNode1, '工人2');
  TreeView1.Items.AddChild(DepNode1, '工人3');
  TreeView1.Items.AddChild(DepNode2, '公司1');
  TreeView1.Items.AddChild(DepNode2, '公司2');
  TreeView1.Items.AddChild(DepNode2, '公司3');
end;问题2:下面的代码网上介绍说,可以增加下一级子目录,但代码有问题,运行不起来,主要是其中几句代码有问题,小弟已经将有问题的几句代码注释了,希望有朋友能帮忙改正,谢谢!!!
procedure TFrm_Test.Button3Click(Sender: TObject);
//增加下一级目录(内容):
var
  ParentNode, TipNode : TTreeNode;          //先建立TREEVIEW使用的子对象
  VersionNum : Integer;
begin
  TreeView1.SetFocus;      //将焦点置到这个TREEVIEW控件上
VersionNum := TMenuItem(Sender ).Tag;   { Ver num of new tip }
  ParentNode := TreeView1.Selected;      { 取出当前的选中节点 }
// if ParentNode.Level=nlTip then  { Parent cannot be a tip node }
// ParentNode := TreeView1.Selected.Parent;  TipNode := TreeView1.Items.AddChildObject( ParentNode,'NewSubject',Pointer( VersionNum ) );
  TipNode.ImageIndex := 3;                  { Normal tip bitmap }
  TipNode.SelectedIndex := 4;          { Highlighted tip bitmap }
  TipNode.MakeVisible;            { Move new tip node into view }
  TipNode.EditText;    { Immediately allow user to edit subject }
//  EnableTreeViewFunctions( TipNode.Level );
// RtfTip.Clear;
// RtfTip.Modified := False;
end;
以上的问题希望有朋友可以帮忙解决,谢谢!!!

解决方案 »

  1.   

    问题1:怎样做,才能在“工人1”下面再增加“工人1_1”,然后在“工人_1_1”节点再增加一个"工人_1_1_1"呢? 
    procedure TFrm_Test.Button1Click(Sender: TObject); 
    var 
      DepNode, DepNode1,DepNode1_1, DepNode2,DepNode2_2: TTreeNode; //定义一个暂时存储院系结点的临时变量 
       
      Node: TTreeNode;
      Dep: string; 
    begin   DepNode1 := TreeView1.Items.Add(nil,  '工厂 '); 
      DepNode2 := TreeView1.Items.Add(nil,  '公司 ');   Node := TreeView1.Items.AddChild(DepNode1,  '工人1 '); 
      Node := TreeView1.Items.AddChild(Node, '工人_1_1');
      Node := TreeView1.Items.AddChild(Node, '工人_1_1_1');  
      

  2.   

    问题2与问题1重复, 要增加下一级目录使用AddChild就可以了, 注意AddChild方法的第一个参数.