VC++菜单

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

转载于:https://www.cnblogs.com/cheng07045406/archive/2013/06/09/3128743.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值