gpt4 book ai didi

c++ - 创建一个基于所选选项卡选择主菜单栏的功能

转载 作者:行者123 更新时间:2023-11-30 05:27:16 25 4
gpt4 key购买 nike

我是 c++ 的新手,想知道是否有一种方法可以创建一个函数来选择在 MFC 菜单编辑器中创建的菜单栏并将其显示在窗口顶部。

enter image description here

想法是为每个选项卡设置不同的菜单栏,因为每个选项卡都有不同的选项。

例如,名为 ID_REGMENUBAR 的菜单栏用于 Doom Reg,ID_SCRIPTMENUBAR 用于脚本

如果需要更多信息,请说明。谢谢!

最佳答案

使用 CMenu::LoadMenuCWnd::SetMenu。例如声明成员数据:

CMenu m_menu1, m_menu2;

初始化菜单一次:

m_menu1.LoadMenu(ID_REGMENUBAR);
m_menu2.LoadMenu(ID_SCRIPTMENUBAR);

使用 SetMenu(&m_menu1) 在运行时分配菜单。您可以通过查看 TCN_SELCHANGE

来响应选项卡选择更改
BEGIN_MESSAGE_MAP(...)
ON_NOTIFY(TCN_SELCHANGE, IDC_TAB1, OnTabSelection)
END_MESSAGE_MAP()

void CMyWnd::OnTabSelection(NMHDR*, LRESULT*)
{
int tab = m_Tab.GetCurSel();
CMenu *pMenu = NULL;
if (tab == 0) pMenu = &m_menu1;
if (tab == 1) pMenu = &m_menu2;
CFrameWnd* frame = (CFrameWnd*)AfxGetMainWnd();
frame->SetMenu(pMenu);
}

关于c++ - 创建一个基于所选选项卡选择主菜单栏的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37467577/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com