1.如何载入自己的菜单
在Resource资源中,添加需要的菜单选项,并设置好对应的ID;
m_menu.LoadMenu(MAKEINTRESOURCE(IDR_MENU1)); //载入对话框菜单,m_menu CMenu类的变量 this->SetMenu(&m_menu);
2.当有时候在条件不满足的情况下,不允许用户点击,则就是菜单项不可用,变灰功能;
CMenu *p = &m_menu; p = p->GetSubMenu(1); p->EnableMenuItem(ID_NUMBER,MF_GRAYED);
恢复不可用:
CMenu *p = &m_menu; p = p->GetSubMenu(1); p->EnableMenuItem(ID_OPTION_CLASSIFYINPASSABLEAREA,MF_ENABLED);
3.让菜单选项,被选中时候,显示打勾功能:
CMenu*p = &m_menu; if(!p) return ; p = p->GetSubMenu(1);////0-File,1-Option,2-About;ID_LIFT_MONI在编辑下,位置 if(!p) return ; if(p->GetMenuState(ID_OPTION_SHOWPASSABLEAREA,MF_BYCOMMAND) == MF_CHECKED) { p->CheckMenuItem(ID_OPTION_SHOWPASSABLEAREA,MF_BYCOMMAND | MF_UNCHECKED); //取消打勾 } else { p->CheckMenuItem(ID_OPTION_SHOWPASSABLEAREA,MF_BYCOMMAND | MF_CHECKED); }
4.可以添加菜单事件函数,当用户点击时候,就可以执行相应的操作;