MFC CMenu的使用

本文详细介绍如何在MFC中实现下拉框功能,包括使用MFCMenuButton控件和菜单资源,以及如何通过代码将控件与菜单资源进行绑定。文章还提供了OnInitDialog()函数中的具体代码实例,展示了如何处理多个下拉框的选择事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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按钮。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值