動態創建菜單和動態關聯菜單項事件

//動態創建四級菜單
var
  MainMenu:TMainMenu;
  SubMenu,SubMenu2,submenu3,submenu4:TMenuItem;

  MainMenu:=TMainMenu.Create(self);
  MainMenu.AutoHotkeys:=maManual;

    SubMenu:=TMenuItem.Create(self); 
    SubMenu.Caption:='一級菜單';
    MainMenu.Items.Add(SubMenu);

        SubMenu2:=TMenuItem.Create(self); 
        SubMenu2.Caption:='二級菜單';
        SubMenu.Add(SubMenu2);

            submenu3:=TMenuItem.Create(self);  
            submenu3.Caption:='三級菜單';
            submenu2.Add(submenu3);

                submenu4:=TMenuItem.Create(self); 
                submenu4.Caption:='四級菜單';
                submenu3.Add(submenu4);

//動態給四級菜單關聯事件
procedure LinkEvent;
var
  i,j,k,l,t:Integer;
begin
  for i:=0 to MainMenu.Items.Count-1 do
  begin
    for t:=Low(ss) to High(ss) do
      if MainMenu.Items[i].Caption=ss[t] then
        MainMenu.Items[i].OnClick:=MenuItemClick;
    for j:=0 to MainMenu.Items[i].Count-1 do
    begin
      for t:=Low(ss) to High(ss) do
        if MainMenu.Items[i].Items[j].Caption=ss[t] then
          MainMenu.Items[i].Items[j].OnClick:=MenuItemClick;
      for k:=0 to MainMenu.Items[i].Items[j].Count-1 do
      begin
        for t:=Low(ss) to High(ss) do
          if MainMenu.Items[i].Items[j].Items[k].Caption=ss[t] then
            MainMenu.Items[i].Items[j].Items[k].OnClick:=MenuItemClick;
        for l:=0 to MainMenu.Items[i].Items[j].Items[k].Count-1 do
          for t:=Low(ss) to High(ss) do
            if MainMenu.Items[i].Items[j].Items[k].Items[l].Caption=ss[t] then
              MainMenu.Items[i].Items[j].Items[k].Items[l].OnClick:=MenuItemClick;
      end;
    end;
  end;
end;

 

//動態菜單數據表設計

菜單樹

層次序列號  功能編號  功能名稱  標識  是否激活
ccxlh  gnbh  gnmch  biaoshi  beactive
00                                採購管理                                              是
0000                              合同管理                                              是
000000                HET001A      合同登記                                              是
000001                HET001B      合同審覈                                              是
000002                HTWENDANG    合同文檔管理                                          是
0001                              採購訂單                                              是
000100                JHF110A      採購訂單                                              是
000101                JHF110C      採購訂單刪除                                          是
000102                JHF110B      採購訂單審覈                                          是
0002                              採購入庫業務                                          是
000200                JHG112A      採購開票單據                                          是
000201                JHG112B      採購開票單據審覈                                      是
發佈了7 篇原創文章 · 獲贊 0 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章