procedure TForm1.Button1Click(Sender: TObject);
var
objMenuItem,objSMenuItem:TMenuItem;
objMainMenu:TMainMenu;
i,j:Integer;
begin
objMainMenu:=TMainMenu.Create(self);
 for i:=0 to 10 do
 begin
  objMenuItem:=TMenuItem.Create(self);
  objMenuItem.Caption:='菜单'+Inttostr(i);
  objMenuItem.Name:='Menu'+inttostr(i);
  objMenuItem.GroupIndex:=i;
  objMainMenu.Items.Add(objMenuItem);
 end;
end;
我只会创建一级菜单,可是怎么样创建他的下级以及三级。。

解决方案 »

  1.   

    唉~ 自己解决了。
    procedure TForm1.Button1Click(Sender: TObject);
    var
    objMenuItem,objSMenuItem,objSSMenuItem:TMenuItem;
    objMainMenu:TMainMenu;
    i,j,x:Integer;
    begin
    objMainMenu:=TMainMenu.Create(self);
     for i:=0 to 5 do
     begin
      objMenuItem:=TMenuItem.Create(self);
      objMenuItem.Caption:='菜单'+Inttostr(i);
      objMenuItem.Name:='MenuE'+inttostr(i);
      objMainMenu.Items.Add(objMenuItem);
          for j:=0 to 5 do
       begin
        objSMenuItem:=TMenuItem.Create(self);
        objSMenuItem.Caption:='子菜单'+Inttostr(j);
        objSMenuItem.Name:='SMenuEx'+Inttostr(i)+Inttostr(j);
        objMainMenu.Items[i].add(objSMenuItem);
          for x:=0 to 5 do
          begin
          objSSMenuItem:=TMenuItem.Create(self);
          objSSMenuItem.Caption:='二级子菜单'+inttostr(x);
          objSSMenuItem.Name:='SSMenuExs'+Inttostr(i)+Inttostr(j)+Inttostr(x);
           objMainMenu.Items[i].Items[j].add(objSSMenuItem);
          end;
       end;
     end;
    end;
      

  2.   

    顶一个,Essential Delphi最后几章就有说创建动态菜单的.