寻求动态分配菜单的方案 (100分)

  • 主题发起人 主题发起人 易虎
  • 开始时间 开始时间

易虎

Unregistered / Unconfirmed
GUEST, unregistred user!
大家讨论一下,如何实现按照登陆权限的不同,动态的分配菜单。[?]
不知哪位仁兄有,软件开发合同的格式样本,能否给我一份做参考。谢谢!
yihu007@sina.com
 
我有一个不是分配菜单的而是
菜单可不可用的
具体作法是
t_user
t_user_group
t_group_right
t_right_menu
登录后
遍历所有菜单项
所有都不可用
select c_menu_name
from t_right_menu,
t_user_group,
t_group_right,
t_user
where ......

查询出当前用户所在组所有的菜单名称
遍历所有菜单项
如果相同则可用
 
例如:
procedure TCommerce_MAIN_Form.MenuforUser(PowerDegree:Integer);
//PowerDegree 权限级别
begin
if PowerDegree <300
then
begin
N101.Visible:=true;
N102.Visible:=true;
N103.Visible:=true;
N104.Visible:=true;
N105.Visible:=true;
N106.Visible:=true;
N201.Visible:=true;
N301.Visible:=true;
N401.Visible:=true;
N601.Visible:=true;
N602.Visible:=true;
end
else
begin
N101.Visible:=false;
N102.Visible:=false;
N103.Visible:=false;
N104.Visible:=false;
N105.Visible:=false;
N106.Visible:=false;
N201.Visible:=false;
N301.Visible:=true;
N401.Visible:=true;
N601.Visible:=true;
N602.Visible:=true;
end;

end;
 
我做过,但因为是公司的,所以我只能在此给你提一下思路,最近很忙,没办法给你做示例。
一、将菜单记录在一个数据表(INI也可以,但不方便)中,我们用的是kmmemTable
二、表中有几个关键的字段,功能(菜单)ID,父菜单ID,菜单名称,项次,权限值
三、在用户登录后,根据此用户所拥有的权限,找出所有可以显示的菜单,生成菜单,生成的
  菜单项,使用同一个过程响应其OnClick事件,在其中根据其ID(可以灵活使用Tag值)执行
  不同的过程即可。
 
大富翁都到哪里去啦,尽然只有这么几个人讨论。如果要加分直接告诉我呀
 
最简单的,多放几个mainmenu控件,根据不同的登录在显示主界面之前
将menu属性设置成不同的mainmenu控件。 ^_^
 
WiseAnt:你好。
能否详细一点呢。谢谢
 
设定用户权限,建立权限菜单表。从中得到菜单项的参数。格式化生成菜单。
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
847
DelphiTeacher的专栏
D
后退
顶部