显示MFC垂直撕下菜单

时间:2016-08-07 06:12:32

标签: visual-c++ mfc

我意识到这有点旧:现在大多数MS的东西都是基于色带的,但我决定玩撕纸菜单只是为了它的乐趣。撕掉菜单首次出现在VS2008中。唯一的示例程序应该在Wordpad中,但那段示例代码不再可用。只有VS2003和VS2005版本可用,但这是在撕下菜单之前。除了代码项目版本,完全不同,我找不到任何示例代码。 MSDN帮助只是告诉你每个例程的作用,但网站上没有任何内容告诉你如何在MFC中创建撕下菜单。

经过大约3个小时的搞乱,我设法让MFC中的CMenuTearOffManager工作,我可以看到撕下菜单。如果有兴趣的话,我可以在SO文档中添加如何执行此操作。我可以添加一个SVE,但它会有很多自动生成的MFC代码,总共可以达到几百行。我可以拉上它,但我不知道如何将zip文件添加到SO。

这就是撕下菜单的样子。点击虚线并向下拖动即可撕掉。

Tear off menu

这就是它被撕掉时的样子

Torn off menu

这是垂直拉伸时的样子

Stretched Vertically

没有重写经理,可能还有整个MFC菜单系统,是否有一种简单的方法

  • 将撕下的字样和图标显示出来。与Solaris / Motif版本不同,如果菜单项有图标,则MFC版本仅显示图标。它也没有显示单词。
  • 让菜单垂直显示而不是水平显示?目前,我需要垂直拖动弹出框。默认情况下,它以水平格式弹出。

0 个答案:

没有答案