先用递归,遍历所有节点后, 在用treenode 添加到treeview中。代码如下。beginLoadResourcesSYS(Menu.Items,nil)//menu就是你的mainmenu.end;procedure LoadResourcesSYS(TempItems: TMenuItem;rz: TRzGroup);//rz可以改成treeviewvar i: Integer
rzgitem: TRzGroupItem;//rzgitem可以改成TTreeNode. begin for i := 0 to TempItems.Count - 1 do begin with TempItems do begin if (Caption <> '-') and (Trim(Name) <> '') and (Visible) then begin if TempItems.Count > 0 then begin rz := TRzGroup.Create(RzGroupBar1)
rz.Name := Name
rz.Caption := Caption
RzGroupBar1.AddGroup(rz)
end else begin rzgitem := rz.Items.Add
rzgitem.Caption := Caption
rzgitem.OnClick := OnClick
end
end
if TempItems.Count > 0 then LoadResourcesSYS(TempItems,rz)
end
end;end;自己试一下,我的是可以的。