分享

treeview分层遍历

 aaie_ 2011-12-05
采用数组:
procedure   TForm1.Button1Click(Sender:   TObject);
var
    a:array   of   Ttreenode;
    node:TTreenode;
    i,j,count:integer;
begin
    i:=0;j:=0;
    Count:=Treeview1.Items.Count;
    setlength(a,Count);
    node:=Treeview1.TopItem;
    while   node <> nil   do
    begin
      a[i]:=node;
      node:=node.getNextSibling;
      i:=i+1;
    end;
    j:=i-1;
    i:=0;
    while   i <Count   do
        begin
                node:=a[i].getfirstchild;
                while   node   <>   nil   do
                      begin
                          j:=j+1;
                          a[j]:=node;
                          node:=node.getNextSibling;
                      end;
        i:=i+1;
    end;
  //以下用于集中输出,当然也可以在中间输出
  for   i:=0   to   Count-1     do
          listbox1.Items.Add(a[i].text);
  end;

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多