procedure TForm1.TreeView1Expanding(Sender: TObject; Node: TTreeNode;
  var AllowExpansion: Boolean);
beginend;//var AllowExpansion: Boolean

解决方案 »

  1.   

    也有可能是偶的节点位置表述错了,偶的treeview是:超级用户
        薪用户1
            name
            passwd
        薪用户2
        ……
    普通用户
        新用户1
            name
            passwd
        薪用户2
        ……偶想使‘超级用户’这个节点不可打开,改怎么写?
    另外,“新用户1、name、passwd”这三个节点的位置,应该怎么表示?   
      

  2.   

    1、对于超级用户,如果你想让他打开或不打开。
    procedure TForm1.TreeView1Expanding(Sender: TObject; Node: TTreeNode;
      var AllowExpansion: Boolean);
    begin
         if Node.Text='超级用户' then AllowExpansion:=true
         else
             AllowExpansion:=False;
    end;
    2、位置可以用Node.Level判断:根为0,次一级为1,依次;也可以根据父节点、爷节点是否存在判断
      

  3.   

    在treeview中:
    超级用户
        薪用户1
            name
            passwd
        薪用户2
        ……
    普通用户
        新用户1
            name
            passwd
        薪用户2
        ……“普通用户”这个节点怎么表示?
    偶用
    treeview.items.absolutindex[1]
    treeview.level('普通用户')
    表示,系统均不认
      

  4.   

    是不是定位“普通用户”这个节点,
    以前不是说过了吗,用搜索的方法
    var
       node:TTreeNode;
    for i:=0 to TreeView.Items.Count-1 do
      if TreeView.Items[i].Text='普通用户' then
         node :=TreeView.Items[i];node 就是普通用户这个节点
      

  5.   

    偶想要使用这个节点,偶想把数据库中的用户读出来,分别附在trrview的 超级用户 和
    普通用户 中,
    源代码如下:
    procedure inittreeview1();begin
      data.qu_yhglint.Close;
      data.qu_yhglint.open;
         for j:=1 to data.qu_yhglint.RecordCount do
           begin
             if data.qu_yhglint.fieldbyname('issuper').asstring='y' then
               begin
                  newnode:=f_yhgl.treeview1.items.addchild(f_yhgl.treeview1.Items[0],data.qu_yhglint.FieldByName('alias').AsString);
                  newnode:=f_yhgl.treeview1.items.addchild(newnode,data.qu_yhglint.FieldByName('name').AsString);
                  newnode.imageindex:=2;
                  newnode.selectedindex:=2;
                  newnode:=f_yhgl.treeview1.items.add(newnode,data.qu_yhglint.FieldByName('passwd').AsString);
                  newnode.imageindex:=3;
                  newnode.selectedindex:=3;          end;    if data.qu_yhglint.fieldbyname('issuper').asstring='n' then
            begin
                newnode:=f_yhgl.treeview1.items.addchild(f_yhgl.treeview1.items[0],data.qu_yhglint.FieldByName('alias').AsString);
                newnode.imageindex:=1;
                newnode.selectedindex:=1;
                newnode:=f_yhgl.treeview1.items.addchild(newnode,data.qu_yhglint.FieldByName('name').AsString);
                newnode.imageindex:=2;
                newnode.selectedindex:=2;
                newnode:=f_yhgl.treeview1.items.add(newnode,data.qu_yhglint.FieldByName('passwd').AsString);
                newnode.imageindex:=3;
                newnode.selectedindex:=3;       end;
                data.qu_yhglint.next;
         end
    end;但是用户都出现在“超级用户”下,
      

  6.   

    当然,把我给你的那异端代码插入两个if 中间,
    然后把
    newnode:=f_yhgl.treeview1.items.addchild(f_yhgl.treeview1.items[0],data.qu_yhglint.FieldByName('alias').AsString);
        改成 
    newnode:=f_yhgl.treeview1.items.addchild(node,data.qu_yhglint.FieldByName('alias').AsString);