MFC对话框动态添加菜单

本文详细介绍了在MFC应用程序中如何动态地创建和管理菜单资源,包括添加菜单及菜单项的过程。通过代码示例展示了如何在窗口创建时加载菜单,并对菜单项进行更新,适合初学者和开发者参考。

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

.添加菜单资源
2.添加一个菜单,添加菜单项
如图所示:
3.加入WM_CREATE消息
代码如下:
 1  int CDemoDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)
 2 {
 3      if (CDialogEx::OnCreate(lpCreateStruct) == - 1)
 4          return - 1;
 5 
 6      //  TODO:  Add your specialized creation code here
 7      CMenu* pMenu = NULL;
 8     pMenu = GetMenu(); 
 9      if(pMenu != NULL)
10     {
11         CMenu* pSubMenu = NULL;
12         pSubMenu = pMenu->GetSubMenu( 0);
13          if(pSubMenu == NULL)
14         {
15              return  0;
16         }
17          int iItemCount = pSubMenu->GetMenuItemCount();
18          for( int i =  0; i < iItemCount; ++i)
19         {
20              // 清除该菜单中的项
21              pSubMenu->DeleteMenu( 0, MF_BYPOSITION);
22         }
23          // 加入新菜单项
24          pSubMenu->AppendMenuW(MF_POPUP|MF_STRING, (UINT)pSubMenu->m_hMenu, L " 一级菜单 ");
25         CMenu* pMenuPop = pSubMenu->GetSubMenu( 0);
26          if(pMenuPop != NULL)
27         {
28             pMenuPop->AppendMenuW(MF_STRING, (UINT)pMenuPop->m_hMenu, L " 二级菜单 ");
29         }
30     }
31      return  0;
32  } 

 


转载于:https://www.cnblogs.com/freemindblog/p/5674556.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值