我正在尝试将两个主菜单合并在一起,但是在使用子项获得正确结果时遇到了问题.我在我的MenuItems上使用GroupIndex属性来控制合并/插入.
Menu1(带有groupindices)是这样的
文件= 10
开放= 11
关闭= 12
编辑= 20
切= 21
糊= 22
帮助= 90
关于= 91
Menu2是这样的
编辑= 20
清除= 23
窗口小部件30 =
WIDGET1 = 31
WIDGET2 = 32
而我正在做
Menu1.Merge(Menu2);
我希望组合菜单在Edit菜单中有一个新的顶级菜单"Widgets"和一个新的"Clear"命令."小部件"工作正常,但编辑菜单丢失了剪切和粘贴,这不是我想要的.
如何停止剪切和粘贴命令消失?
Delphi中的菜单合并功能与您期望的有点不同:它是非递归的(不幸的是!).这意味着当您拨打电话时Menu1.Merge
,Menu1的"编辑"菜单将被 Menu2 取代.
您有两种选择:
手动添加"剪切"和"粘贴"到Menu2.
编写自己的合并功能.
我前一段时间遇到过同样的问题(见这个问题):
我最终得到的是使用 Toolbar2000 包来处理我的所有菜单和工具栏.然后,您可以下载一段非常好的代码,名为 TB2Merge,它可以完全满足您的需求.
你也可以在TB2Merge上建立任何自定义编写的菜单合并代码,我猜......