如何在MFC中向CMenu添加子菜单?
我有一个使用 CMenu 作为主菜单栏的 MFC 应用程序。
我无法成功创建子菜单。
我可以拥有第一级“文件”、“编辑”、“查看”等及其子菜单,但我无法从其中一个菜单创建子菜单。
例如,我希望能够转到“文件”->“最近的项目”->子菜单中的项目列表
我可以使用 VS 中的资源编辑器轻松完成此操作,但这需要动态完成。
我在 CMenu 中使用了正确的类吗? 关于尝试什么有什么建议吗?
我还没有找到任何像样的教程。 即使指出我正确的方向也会有所帮助。
I have an MFC app that uses CMenu for the main menu bar.
I haven't been able to create submenus successfully.
I can have the first level of File, Edit, View, etc and their sub menus, but I can't create a submenu off of one of those menus.
For example, I would like to be able to go File->Recent Items->list of items in submenu
I can do this easily enough with the resource editor in VS, but this needs to be done dynamically.
Am I using the right class in CMenu? Any suggestions on what to try?
I haven't found any decent tutorials. Even pointing me towards the right one would be helpful.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用资源编辑器添加包含一个占位符项的子菜单。 然后,您可以以编程方式获取对此子菜单的引用,向其中添加项目并删除占位符项目:
Use your resource editor to add a submenu containing one placeholder item. You can then programatically grab a reference to this submenu, add items to it and delete the placeholder item:
今天我必须做同样的事情,我在 VS2008 上使用功能包(新的 UI 东西),并且正在查看示例,并且有关于如何动态添加菜单项的示例(http://msdn.microsoft.com/en-us/library/bb983167.aspx)
您需要重写 CFrameWndEx::OnShowPopupMenu 方法。
最大限度。
I had to do the same thing today, I'm on VS2008 with the Feature Pack (new UI stuff), and was looking at the samples, and there's sample on how to add menu items dynamically (http://msdn.microsoft.com/en-us/library/bb983167.aspx)
You need to override the CFrameWndEx::OnShowPopupMenu method.
Max.