MFC CMenu的使用

MFC要实现下拉框的选项要用到MFC MenuButton控件和菜单资源。首先在对话框中添加菜单按钮控制并未控制绑定一个变量,再在资源中添加菜单资源。通过代码将控件与菜单资源绑定定,具体如下:
![这里写图片描述(https://img-blog.csdn.net/20180915111719976?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1l1ZXJfQXJ5YQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/ dissolve / 70
![这里写图片描述(https://img-blog.csdn.net/20180915111728763?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1l1ZXJfQXJ5YQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve / 70
![这里写图片描述(https://img-blog.csdn.net/20180915111737345?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1l1ZXJfQXJ5YQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/ 70

这里写代码片BOOL测试:: OnInitDialog()
{
    CDialogEx ::的OnInitDialog();

    // TODO:在此添加额外的初始化
    //////////////////关联
    CMenu * pMenu =new CMenu;
    pMenu-> LoadMenu(IDR_MENU2); //载入菜单资源
    m_menu_hk.m_hMenu = pMenu-> GetSubMenu(0) - > GetSafeHmenu();
//m_menu_hk为menubutton控件变量
    返回TRUE; //除非将焦点设置为控件,否则返回TRUE
                  //异常:OCX属性页应返回FALSE
}
void test :: OnBnClickedMenuDh()//导航按钮
{
    // TODO:在此添加控件通知处理程序代码
    if(m_menu_dh.m_nMenuResult == ID_DH1)
//下拉框一的ID
    {

         AfxMessageBox的(_T( “下拉框一”));
    }
    否则if(m_menu_dh.m_nMenuResult == ID_DH2)
//下拉框二的ID
    {

         AfxMessageBox的(_T( “下拉框二”));
    }

    return;
}

使用多个menubutton控件并添加菜单时在OnInitDialog()
中添加:
m_menu_mq.m_hMenu = pMenu->GetSubMenu(1)->GetSafeHmenu();

m_menu_mq是另一个menubutton控件的变量,只需改动GetSubMenu(1)即可同时使用多个menubutton按钮。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值