谁能帮我解决一下如下问题:
有一个TreeView1,怎样判断它当为顶级时把Edit的值给它,二级时把Edit的值给第二级(增第二级时鼠标点第二级时按Button把Edit的值给第二级)。
原料
  |
  ---主料
  |
  ---辅料
      |
      包装盒
不知道大家明不明白我的意思!多谢

解决方案 »

  1.   

    treeview.selkected.level返回节点所在的层数
      

  2.   

    var  TN: Ttreenode;
    begin
      TN := treeview1.items.selected;
      if TN.level = 0 then           
      begin
        treeview1.items.add(nil,edit1.text);
      end
      else if TN.level = 1 then
      begin
        treeview1.items.addchild(TN,edit1.text);
      end;
    end;
      

  3.   

    TO:47522341(睡到8:30)真的很佩服你,应该向你学习:
    再请教你,我的执行后说没定义。
    procedure TForm1.Button1Click(Sender: TObject);
    var
    TN:Ttreenode;
    begin
       TN:=Treeview1.Items.selected;
       if TN.Level=0 then
       begin
       treeview1.Items.Add(nil,edit1.Text)
       end
       else
       if TN.Level=1 then
       begin
       treeview1.Items.AddChild(TN,edit1.Text);
       end;
    end;end.
    是不是当前没有节点呀!
      

  4.   

    var  TN: Ttreenode;
    begin
      TN := treeview1.items.selected;
      if TN.level = 0 then           
      begin
        treeview1.items.add(nil,edit1.text);
      end
      else if TN.level = 1 then
      begin
        treeview1.items.addchild(TN,edit1.text);
      end;
    end;
    这个办法不错
      

  5.   

    不用分配内存。
    你调用这个过程的时候TREEVIEW1里面有没有节点?!
    如果有节点应该不会出错,要么是错在别的地方。
      

  6.   

    var  TN: Ttreenode;
    begin
      TN := treeview1.selected;
      if TN.level = 0 then           
      begin
        treeview1.items.add(nil,edit1.text);
      end
      else if TN.level = 1 then
      begin
        treeview1.items.addchild(TN,edit1.text);
      end;
    end;
      

  7.   

    var  TN: Ttreenode;
    begin
      if treeview1.selected = nil then
          Abort;  TN := treeview1.selected;
      if TN.level = 0 then           
      begin
        treeview1.items.add(nil,edit1.text);
      end
      else if TN.level = 1 then
      begin
        treeview1.items.addchild(TN,edit1.text);
      end;
    end;
      

  8.   

    给你个判断节点等级的函数:
    function TreeLevel(tn : TTreeNode) : Integer;
    var
       tnn : TTreeNode;
    begin
       tnn := tn;
       result := 1;
       while tnn.parent <> nil do 
       begin
          tnn := tnn.parent;
          inc(result);
       end;
    end