for i:=0 to MainMenu1.Items.Count-1 do MainMenu1.Items[i].Name
用遞歸吧 這是我用的遞歸讀出菜單的caption到一個樹裡面,你讀名字也是一樣的. procedure diguiread(temmenu: Tmenuitem; temtree: TTreeNode); var diguin: integer; NowTreeNode: TTreeNode; begin for diguin := 0 to temmenu.Count - 1 do begin // if (temmenu.Items[diguin].Enabled) and (temmenu.items[diguin].Caption<>'-//') then begin NowTreeNode := FrmDxchart.TreeView1.Items.AddChild(temtree, temmenu.Items[diguin].Caption); NowTreeNode.Data := pchar(temmenu.Items[diguin].Name); diguiread(temmenu.Items[diguin], NowTreeNode); end; end; 調用的時候diguiread(MainMenu.Items, nil);就行了
MainMenu1.Items[i].Name
這是我用的遞歸讀出菜單的caption到一個樹裡面,你讀名字也是一樣的.
procedure diguiread(temmenu: Tmenuitem; temtree: TTreeNode);
var diguin: integer; NowTreeNode: TTreeNode;
begin
for diguin := 0 to temmenu.Count - 1 do
begin
// if (temmenu.Items[diguin].Enabled) and (temmenu.items[diguin].Caption<>'-//') then
begin
NowTreeNode := FrmDxchart.TreeView1.Items.AddChild(temtree, temmenu.Items[diguin].Caption);
NowTreeNode.Data := pchar(temmenu.Items[diguin].Name);
diguiread(temmenu.Items[diguin], NowTreeNode);
end;
end;
調用的時候diguiread(MainMenu.Items, nil);就行了