2018年1月3日 星期三

Delphi 7 遍歷TMenuItem的遞迴範例

測試公司系統Source Code時發現Menu Item被預設Disable,必須在資料庫開權限才能測試。
所以寫一個Procedure來開放所有Menu權限。

宣告
Procedure EnableAllMenuItem(Menu: TMenu);

Code:
procedure Tmain.EnableAllMenuItem(Menu: TMenu);

      procedure FindSubItems(mnuItem: TMenuItem);
      var i: integer;
      begin
        for i:=0 to mnuItem.Count- 1 do
        begin
          mnuItem.Items[i].Enabled := True;
          FindSubItems(mnuItem.Items[i]);
        end;
      end;

  var i: integer;
  begin
    for i:= 0 to Menu.Items.Count -1 do
    begin
      Menu.Items[i].Enabled := True;
      FindSubItems(Menu.Items[i]);
    end;
end;

呼叫範例:
EnableAllMenuItem(MainMenu1);

沒有留言:

張貼留言