MFC中对于菜单栏的使用相信都已经是日常操作了,那么如何使得菜单栏下的小菜单项变成灰色,不可点击状态呢?
首先为页面(窗口)添加一个菜单栏先(菜单栏需要提前进行资源添加创建出来,并且获取菜单栏的ID号,在程序中进行加载)
CMenu m_Menu;
m_Menu.LoadMenu(IDR_MENU_SYSTEM);
SetMenu(&m_Menu);
其次获取菜单栏的子菜单项,对子菜单项进行操作
CMenu *sub_menu = m_Menu.GetSubMenu(0); // 获取菜单栏下的第一个菜单项
// 获取子菜单项下ID号为:ID_32772的菜单子项,对该菜单子项进行变灰操作
sub_menu->EnableMenuItem(ID_32772, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
如何让变灰的菜单项重新变回正常可点击状态呢?
CMenu *sub_menu = m_Menu.GetSubMenu(0);
sub_menu->EnableMenuItem(ID_32772, MF_BYCOMMAND | MF_ENABLED);
就这样子就能够实现菜单栏的各种骚操作了,还不快尝试一下。