gpt4 book ai didi

c++ - 如何在 MFC 中向 CMenu 添加子菜单?

转载 作者:行者123 更新时间:2023-11-30 04:40:33 30 4
gpt4 key购买 nike

我有一个使用 CMenu 作为主菜单栏的 MFC 应用程序。
我无法成功创建子菜单。

我可以拥有第一级文件、编辑、查看等及其子菜单,但我无法从其中一个菜单创建子菜单。

例如,我希望能够转到文件->最近的项目->子菜单中的项目列表
我可以使用 VS 中的资源编辑器轻松完成此操作,但这需要动态完成。

我在 CMenu 中使用了正确的类吗?对尝试什么有什么建议吗?
我还没有找到任何像样的教程。即使将我指向正确的方向也会有所帮助。

最佳答案

使用您的资源编辑器添加一个包含一个占位符项的子菜单。然后,您可以通过编程获取对此子菜单的引用,向其添加项目并删除占位符项目:

CMenu *subMenu = mainMenu.GetSubMenu( menuPosition );

if( subMenu )
{
for( unsigned i = 0; i < stringArray.size(); i++ )
{
subMenu->AppendMenu( MF_STRING, 400 + i, stringArray[i]);
}

subMenu->DeleteMenu( ID_SUBMENU_PLACEHOLDER, MF_BYCOMMAND );
}

关于c++ - 如何在 MFC 中向 CMenu 添加子菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1155989/

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