CMenu mainMenu;
mainMenu.LoadMenu(IDR_MENU_MAIN);
AfxGetMainWnd()->SetMenu(&mainMenu);
AfxGetMainWnd()->DrawMenuBar();
IDR_MENU_MAIN菜单构造如下:sub1,sub2,sub3为new的下拉菜单,sub4,5,6为test的下接菜单
new test
sub1 sub4
sub2 sub5
sub3 sub6
现在我要把test置为无效,即全部变灰,不能响应该其对应的command函数
或者令test子菜单变为不可见,要怎么做
mainMenu.LoadMenu(IDR_MENU_MAIN);
AfxGetMainWnd()->SetMenu(&mainMenu);
AfxGetMainWnd()->DrawMenuBar();
IDR_MENU_MAIN菜单构造如下:sub1,sub2,sub3为new的下拉菜单,sub4,5,6为test的下接菜单
new test
sub1 sub4
sub2 sub5
sub3 sub6
现在我要把test置为无效,即全部变灰,不能响应该其对应的command函数
或者令test子菜单变为不可见,要怎么做
解决方案 »
- 怎样在程序中判断PC机是否启用了dns的dhcp?加急!
- vc++使用web services 如何实现文件传输?
- TreeView和XML的问题
- 如何创建一个Cstatic的继承类
- 新手问一个困扰很久很简单但是可能需要很长的解释的问题
- 别的程序调用不了我的MFC DLL。调试时,当追踪到AfxRegisterWndClass()里面的AfxGetInstanceHandle()时激发INT 3
- 哪位大侠给个做组件的完整程序代码
- 怎样使用installshield定制自己的安装对话框呢?是用script,还是在提供对话框的dll里做,具体怎么做才能实现用图片代替
- 一堆大数据中找到相同的数
- 求编程VC++ "学校职工人事管理系统"~~
- 这样的查询功能如何实现,求助~~~
- 请教一个关于链接错误的解决方法
来实现
具体的用法查下 MSDN 吧!
上面说的蛮全的!
CMenu* submenu = mmenu->GetSubMenu(0);
submenu->EnableMenuItem(ID_FILE_NEW, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
或者响应OnUpdate???消息
// The code fragment below shows how to disable (and gray out) the
// File\New menu item.
// NOTE: m_bAutoMenuEnable is set to FALSE in the constructor of
// CMainFrame so no ON_UPDATE_COMMAND_UI or ON_COMMAND handlers are
// needed, and CMenu::EnableMenuItem() will work as expected.CMenu* mmenu = GetMenu();
CMenu* submenu = mmenu->GetSubMenu(0);
submenu->EnableMenuItem(ID_FILE_NEW, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);