//動態創建四級菜單
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 採購開票單據審覈 是