如何删除菜单中的某个菜单项
程序心声 2013-11-15 04:16:31 大家好,我想问一个很简单的问题,但还是希望各位能够不厌其烦,耐心的解答一下。
我做了一个菜单,但是菜单有等级之分,比如“管理员”看到的最多,“普通用户”看到的就少一些,有一些菜单项,只能被“管理员”看到,“普通用户”是看不到的。
也就是说,我要把菜单里的一些菜单项变为不可见,起码也要不可用,置灰。
我在网上也搜了一些方法,比如:
GetDlgItem(ID_FILE_NEW)->EnableWindow(false);
或者
GetMenu()->EnableMenuItem(ID_FILE_NEW, MF_DISABLED | MF_GRAYED);
都不行,实现不了。
我用的环境是VC 2008,以上的这些方法,不知道是本身就不完整,还是不适应这个环境,总之,我这里都不能实现,甚至连界面都运行不出来。
我调试跟踪,发现,GetMenu()根本获取不了句柄。
我加菜单的的语句就是系统本身的语句,没改啊,怎么会获取不到句柄呢。
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("未能创建工具栏\n");
return -1; // 未能创建
}
我已经试了很久了,没结果,很着急,任务紧得很,在线等啊。谢谢诸位了。