cheng_you_know

学而时习之!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

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.可以添加菜单事件函数,当用户点击时候,就可以执行相应的操作;

posted on 2013-06-09 13:12  cheng_you_know  阅读(152)  评论(0编辑  收藏  举报