yangjiajie0110
2015-04-23 16:13
采纳率: 36.8%
浏览 6.1k

做一个VC++ MFC系统,怎样可以在主界面根据用户权限隐藏和显示主界面的菜单选项,谢谢

譬如说用户为管理员、老师、学生
用户为管理员、老师时,显示考勤管理按钮
用户为学生就隐藏考勤管理按钮
图片说明

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • 91program 2015-04-23 23:23

    首先,根据登陆的用户判断权限;
    其次,根据不同的权限,显示不同的菜单项。这个需要用到“动态菜单”的技巧。如:
    VC++中动态生成菜单技巧
    如何动态添加菜单/菜单项、子菜单、右键菜单
    如何隐藏已有的菜单项?

    评论
    解决 无用
    打赏 举报
  • 宝龙哥 2015-04-24 00:19

    一种是动态添加需要的菜单,没有权限得不添加

    一种是隐藏,菜单项有失效和隐藏等属性,设置要隐藏的菜单项的visible属性为false即可实现隐藏

    评论
    解决 无用
    打赏 举报
  • oyljerry 2015-04-24 03:26

    做个登陆相关的,根据用户配置不同的权限,这样根据这个权限变量就可以控制菜单的显示隐藏了

    评论
    解决 无用
    打赏 举报
  • Eleven 2015-04-24 07:18

    根据权限的不同,控制不同的状态,按钮可以用ShowWindow,也可以EnableWindow,
    菜单项可以添加ON_UPDATE_COMMAND_UI() pCmdUI->EnableWindow(TRUE/FALSE);禁用或者启用。

    评论
    解决 无用
    打赏 举报
  • 平凡的程序人生 2015-04-26 11:13

    看您的菜单是否有很多的不同,如果只有几个,则根据不同的权限在ON_UPDATE_COMMAND_UI中设置就可以了。
    如果有很多,则要使用动态添加菜单。

    评论
    解决 无用
    打赏 举报
  • 无法更新 2015-12-10 14:37

    估计楼主已经解决了,我的做法是使用DeleteMenu(MENUID,MF_BYCOMMAND); 把不需要显示的菜单项去掉。

    评论
    解决 无用
    打赏 举报
  • 天湖呢 2020-12-19 21:33

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题