根据用户的权限我们经常需要禁用一些菜单,下面这段代码比较方便,好处在不用我们自己手动去获取菜单的ID
如果我们想让某个菜单的第一级菜单变灰,应该这样做:
CMenu* pMenu=this->GetMenu();//获得菜单句柄
pMenu->EnableMenuItem(1,MF_BYPOSITION|MF_GRAYED); //注意前面的1,表示将第二项菜单变灰
上面的是将一级菜单禁用,如果单单要禁用一级菜单下的某个按钮,则应这么办:
CMenu* pMenu=this->GetMenu();
CMenu* pmSub=pMenu->GetSubMenu(0);//关键是里面的标号,0表示第一个子菜单,依次类推
pmSub->EnableMenuItem(1,MF_BYPOSITION|MF_GRAYED);
如果我们想让某个菜单的第一级菜单变灰,应该这样做:
CMenu* pMenu=this->GetMenu();//获得菜单句柄
pMenu->EnableMenuItem(1,MF_BYPOSITION|MF_GRAYED); //注意前面的1,表示将第二项菜单变灰
上面的是将一级菜单禁用,如果单单要禁用一级菜单下的某个按钮,则应这么办:
CMenu* pMenu=this->GetMenu();
CMenu* pmSub=pMenu->GetSubMenu(0);//关键是里面的标号,0表示第一个子菜单,依次类推
pmSub->EnableMenuItem(1,MF_BYPOSITION|MF_GRAYED);