已经在MainMenu1中建立好各种菜单
如何用程序来遍历所有菜单啊?比如我要在所有的菜单中动态地加上某些字,
这就需要遍历所有菜单

解决方案 »

  1.   

    啊?
    可否具体一点啊???我想您可能有所误会,其实我是想知道如何用程序来引用各个菜单!
    我想大概会使用到Control[i]这样子的东东!我不知道具体应该如何引用?
      

  2.   

    有一个遍历组件的方法不知能不能用    for i:=0 to componentcount - 1 do
        begin
            if components[i] is TEdit then
                if (components[i] as TEdit).Text = '' then你把TEdit改成菜单的类不知行不行,试试看吧
      

  3.   

    菜单好象并没有包括在componentcount中啊!!!
      

  4.   

    var
      BarCount, ItemCount, TempIndex: integer;
      for BarCount := 0 to MainMenu.Items.Count - 1 docc
        for ItemCount := 0 to MainMenu.Items.Items[BarCount].Count - 1 do
          begin        Showmessage(MainMenu.Items.Items[BarCount].Items[ItemCount].Caption);
            
          end;
      

  5.   

    for i := 0 to frm_main.Menu1.Items.Count - 1 do
          for j := 0 to frm_main.Menu1.Items[i].Count - 1 do
                frm_main.Menu1.Items[i].Items[j].Enabled := true;
    這樣肯定可以的﹐你去試試看行不行
      

  6.   

    {这是一种递归的实现方法}
    procedure Tfrom1.BLMenu;  procedure GetItems(AItem:TMenuItem);
      var
        I:integer;
      begin
        ShowMessage(AItem.Caption);{可以替换为你想要进行到操作代码!}
        for I:=0 to AItem.Count-1 do begin
          GEtItems(AItem.Items[I]);
        end;
      end;var
      I:integer;
    begin
      for I:=0 to MainMenu.Items.Count-1 do begin
        GetItems(MainMenu.Items.Items[I]);
      end;
    end;
      

  7.   

    SkyWalker8888(星际浪子) 早了一步
    procedure AllMenu(iMenu: TMenu);  procedure mAllMenu(iItem: TMenuItem);
      var
        i               : Integer;
      begin
        showmessage(iItem.Caption);
        for i := 0 to iItem.Count - 1 do
        begin
          mAllMenu(iItem.Items[i]);
        end;
      end;
    var
      i                 : Integer;
    begin
      for i := 0 to iMenu.items.Count - 1 do
        mAllMenu(iMenu.Items[i]);
    end;
      

  8.   

    不用这么复杂吧。
      var
        i: integer;
      begin
        for i := 0 to ComponentCount - 1 do
        begin
          if (Components[i] is TMenuItem) then
            (Components[i] as TMenuItem).Caption :=...............
         end;
      end;