Delphi动态加载菜单的问题

来源:百度知道 编辑:UC知道 时间:2024/05/25 05:03:29
系统启动后如何从数据库中读取数据,自动加载动态菜单?具体点说,也就是系统的菜单项存在于数据库中的一个表中,如何从数据库动态加载到菜单项里面?请问该如何实现?有具体的例子跟代码最好。

那样需要给菜单动态关联事件,比较麻烦.
你可以把所有菜单设计为隐藏,然后显示数据库中存在的菜单(l.Strings[k]是从数据库中的菜单.)

//显示权限范围内的菜单
for i:=0 to FMain.MainMenu1.Items.Count-1 do
begin
for j:=0 to FMain.MainMenu1.Items[i].Count-1 do
begin
FMain.MainMenu1.Items[i].Items[j].Visible:=false;
for k:=0 to l.Count-1 do
begin
if FMain.MainMenu1.Items[i].Items[j].Caption=l.Strings[k] then
begin
FMain.MainMenu1.Items[i].Items[j].Visible:=true;
break;
end;
end;
end;
end;