遍历加入memo1
procedure TForm1.Button1Click(Sender: TObject);
var
i,j:integer;
begin
memo1.lines.Clear;
for i:=0 to MainMenu1.items.Count-1 do
begin
memo1.lines.add(MainMenu1.Items[i].Name);
for j:=0 to MainMenu1.Items[i].Count-1 do
begin
memo1.lines.add(MainMenu1.Items[i].Items[i].Name)
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i,j:integer;
begin
memo1.lines.Clear;
for i:=0 to MainMenu1.items.Count-1 do
begin
memo1.lines.add(MainMenu1.Items[i].Name);
for j:=0 to MainMenu1.Items[i].Count-1 do
begin
memo1.lines.add(MainMenu1.Items[i].Items[i].Name)
end;
end;
end;
procedure OutputMenuItem(
mi: TMenuItem; // 该菜单项
Level: Integer; // 级数
Strings: TStrings // 要输出的字符串列表
);
var
i: Integer; // 循环变量
begin
// 缩进的空格+名字+标题+ID
Strings.Add( StringOfChar(' ', Level*2)
+ 'Name: '+mi.Name
+ '; Caption: '+mi.Caption
+'; ID: '+ IntToStr(mi.Command) );
// 输出它的子菜单 Inc( Level ); // 增加一级
for i:=0 to mi.Count-1 do
OutputMenuInfo( mi[i], Level, Strings ); // 对每个子项递归调用本过程
end;procedure OutputMenu(
menu: TMenu; // 既可传TMainMenu也可传TPopupMenu
Strings: TStrings // 要输出的字符串列表
);
begin
OutputMenuItem( menu.Items, 0, Strings );
end;procedure TForm1.Button1Click(Sender: TObject);
begin
memo1.lines.Clear;
OutputMenu( MainMenu );
end;
procedure OutputMenuItem(
mi: TMenuItem; // 该菜单项
Level: Integer; // 级数
Strings: TStrings // 要输出的字符串列表
);
var
i: Integer; // 循环变量
begin
// 缩进的空格+名字+标题+ID
Strings.Add( StringOfChar(' ', Level*2)
+ 'Name: '+mi.Name
+ '; Caption: '+mi.Caption
+'; ID: '+ IntToStr(mi.Command) );
// 输出它的子菜单 Inc( Level ); // 增加一级
for i:=0 to mi.Count-1 do
OutputMenuItem( mi[i], Level, Strings ); // 对每个子项递归调用本过程
end;procedure OutputMenu(
menu: TMenu; // 既可传TMainMenu也可传TPopupMenu
Strings: TStrings // 要输出的字符串列表
);
begin
OutputMenuItem( menu.Items, 0, Strings );
end;procedure TForm1.Button1Click(Sender: TObject);
begin
memo1.lines.Clear;
OutputMenu( MainMenu, memo1.Lines );
end;