TreeView 節點多選,對TreeView的遍歷

====================================node

須要設置multiselect=true;multiselstyle設置爲[mscontrolselect]oop

procedure TUserRightSet.BitBtn8Click(Sender: TObject);
var 
  TNode,Cnode: TTreeNode;
  i: Integer;
  iLoop: Boolean;
begin
  Cnode:= self.TreeView1.Selected;
  if not Cnode.Expanded then Exit;
  if Cnode.HasChildren then
  begin
    TNode:= Cnode.getFirstChild;
    TNode.Selected:= True;
    iLoop:= True;
    while iLoop do
    begin
      TNode:= TNode.GetNext;
      TreeView1.Select(TNode,[ssCtrl]);
      if TNode = Cnode.GetLastChild then Break;
    end;
  end;
end;orm

====================================get

 

 

var 
    Selections:   TObjectList; 
    I:   Integer; 
begin 
    Selections   :=   TObjectList.Create(False); 
    TreeView1.GetSelections(Selections); 
    for   I   :=   0   to   Selections.Count   -   1   do 
        memo1.Lines.Add(TTreeNode(Selections[I]).Text); 
    Selections.Free; 
endstring

摘 要:對TreeView的遍歷
關鍵字:TreeView
類 別:Delphi & IDE 
E-Mail:iloveyou9595@sina.com

function TForm1.AllOverTreeView(node:TTreenode):TTreenode;
begin
  while node<>nil do
    begin
      if node.HasChildren then
        begin
          node:=node.getFirstChild;
          allovertreeview(node);
          node:=node.Parent;
        end;
      if node.getNextSibling<>nil then
        node:=node.getNextSibling
      else
        exit;
    end;
end;it


能夠遍歷某個節點下的全部節點。
procedure TForm1.Button1Click(Sender: TObject);
var
  parentnode:TTreenode;
begin
  parentnode:=Mytreeview.Items.GetFirstNode;
  AllOverTreeView(parentnode);
end;io

function treeallnode(anode:Ttreenode):string;
 var
 i:integer;
 mystr:string;
begin
for i:=0 to anode.Count-1 do
 begin
 if mystr<>'' then
 mystr:=mystr+'|'+trim(trim(anode[i].Text))
 else
 xxx:=trim(trim(anode[i].Text));
 if anode[i].HasChildren then
  if mystr<>'' then
   mystr:=mystr+'|'+trim(treeallnode(anode[i]))
  else
   mystr:=trim(treeallnode(anode[i]));
end;
result:=mystr;
end;ast

================================function

delphi treeview 遍歷全部子集節點List

procedure TForm1.BitBtnClick(Sender: TObject);
  procedure treeCldnode(Anode: TTreeNode);
  var
    i: integer;
    node: TTreeNode;
  begin

    for i := 0 to Anode.Count - 1 do
    begin
     ShowMessage(Anode.Item[i].Text);
      Node := ANode.Item[i];
      if (node.Count > 0)   then
        treeCldnode(Node);

    end;
  end;
var
  i: integer;
  node: TTreeNode;
begin
  node := TreeView1.Selected;
   treeCldnode(node);

end;

相關文章
相關標籤/搜索