MFC怎么改menu的ID

在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MFC中动态创建MenuID需要以下步骤: 1. 在资源视图中添加一个菜单(比如IDR_MENU1),并在其中添加一个子菜单项(比如ID_DYNAMIC_MENU)。 2. 在你的应用程序类的头文件中添加菜单ID定义: ```cpp #define ID_DYNAMIC_MENU_FIRST 50000 #define ID_DYNAMIC_MENU_LAST 50500 ``` 3. 在你的应用程序类的.cpp文件中添加以下函数: ```cpp void CMyApp::AddDynamicMenuItems(CMenu* pMenu) { // 按需添加动态菜单项 for (int i = ID_DYNAMIC_MENU_FIRST; i < ID_DYNAMIC_MENU_LAST; i++) { CString strMenuText; strMenuText.Format(_T("Dynamic Menu Item %d"), i - ID_DYNAMIC_MENU_FIRST + 1); pMenu->AppendMenu(MF_STRING, i, strMenuText); } } ``` 4. 在你的主框架窗口类的.cpp文件中添加以下代码: ```cpp BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/, CCreateContext* pContext) { // 创建视图窗口 ... // 创建菜单条 if (!m_wndMenuBar.Create(this)) { TRACE0("Failed to create menubar\n"); return FALSE; } m_wndMenuBar.SetBarStyle(m_wndMenuBar.GetBarStyle() | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC); // 创建菜单 CMenu* pMenu = m_wndMenuBar.GetMenu(); if (!pMenu->LoadMenu(IDR_MENU1)) { TRACE0("Failed to load menu\n"); return FALSE; } // 添加动态菜单项 ((CMyApp*)AfxGetApp())->AddDynamicMenuItems(pMenu->GetSubMenu(0)); // 更新菜单 m_wndMenuBar.DrawMenuBar(); return TRUE; } ``` 这样就可以在你的菜单中动态添加菜单项了。注意,菜单ID必须在ID_DYNAMIC_MENU_FIRST和ID_DYNAMIC_MENU_LAST之间。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值