程序主窗口的菜单是结合coolbar和tool做的,如下图。
在formshow事件里判断当前用户级别以决定显示哪些功能菜单procedure TfrmMain.FormShow(Sender: TObject);
begin
frmMain.Caption:='台帐管理系统 - ' + sRealName + '(' + dmMain.GetUserIdentity(nUserGrade) + ')';
//根据用户级别打开相应功能菜单
case nUserGrade of
idAdministrator: //管理员
begin
//操作员
mnuOperator.Enabled:=False;
mnuOperator.Visible:=False;
//财务
mnuFinace.Enabled:=False;
mnuFinace.Visible:=False;
//管理员
mnuAdministrator.Enabled:=True;
mnuAdministrator.Visible:=True;
end;
idFinace: //财务
begin
mnuOperator.Enabled:=False;
mnuOperator.Visible:=False;
mnuFinace.Enabled:=True;
mnuFinace.Visible:=True;
mnuAdministrator.Enabled:=False;
mnuAdministrator.Visible:=False;
end;
idOperator: //操作员
begin
ShowMessage('消息');
mnuOperator.Enabled:=True;
mnuOperator.Visible:=True;
mnuFinace.Enabled:=False;
mnuFinace.Visible:=False;
mnuAdministrator.Enabled:=False;
mnuAdministrator.Visible:=False;
end;
end;
lvwMainInitialization;
end;当前用户身份是idOperator,且程序显示了ShowMessage('消息')这个消息框,但菜单没有按代码所示显示,好像对菜单显示的控制代码无效一样。困惑中。。
在formshow事件里判断当前用户级别以决定显示哪些功能菜单procedure TfrmMain.FormShow(Sender: TObject);
begin
frmMain.Caption:='台帐管理系统 - ' + sRealName + '(' + dmMain.GetUserIdentity(nUserGrade) + ')';
//根据用户级别打开相应功能菜单
case nUserGrade of
idAdministrator: //管理员
begin
//操作员
mnuOperator.Enabled:=False;
mnuOperator.Visible:=False;
//财务
mnuFinace.Enabled:=False;
mnuFinace.Visible:=False;
//管理员
mnuAdministrator.Enabled:=True;
mnuAdministrator.Visible:=True;
end;
idFinace: //财务
begin
mnuOperator.Enabled:=False;
mnuOperator.Visible:=False;
mnuFinace.Enabled:=True;
mnuFinace.Visible:=True;
mnuAdministrator.Enabled:=False;
mnuAdministrator.Visible:=False;
end;
idOperator: //操作员
begin
ShowMessage('消息');
mnuOperator.Enabled:=True;
mnuOperator.Visible:=True;
mnuFinace.Enabled:=False;
mnuFinace.Visible:=False;
mnuAdministrator.Enabled:=False;
mnuAdministrator.Visible:=False;
end;
end;
lvwMainInitialization;
end;当前用户身份是idOperator,且程序显示了ShowMessage('消息')这个消息框,但菜单没有按代码所示显示,好像对菜单显示的控制代码无效一样。困惑中。。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货