Я пытаюсь объединить два основных меню вместе, но у меня возникают проблемы с получением правильного результата с подпунктами. Я использую свойство GroupIndex в своих MenuItems для управления слиянием / вставкой.
Menu1 (с индексами групп) выглядит так
Menu2 похоже на это
И я делаю
Menu1.Merge(Menu2);
Я хочу, чтобы объединенное меню имело новое верхнее меню «Виджеты» и новую команду «Очистить» в меню «Правка». «Виджеты» работают нормально, но меню «Правка» потеряло функцию «вырезать и вставить», чего я не хотел.
Как я могу остановить исчезновение команд «Вырезать» и «Вставить»?





Функция слияния меню в Delphi работает несколько иначе, чем вы ожидали: она нерекурсивна (к сожалению!). Это означает, что когда вы вызываете Menu1.Merge, меню «Правка» Menu1 получает заменены от Menu2.
У вас есть два варианта:
Некоторое время назад у меня была такая же проблема (см. этот ТАК вопрос):
What I eventually ended up with, is using the Toolbar2000 package for all my menus and toolbars. You can then download a very nice piece of code, called TB2Merge, which does exactly what you want.
Я думаю, вы также можете основать любой код слияния меню, написанный на заказ, на TB2Merge ...
Спасибо, я боялся, что это может быть ответ. Я посмотрю на Toolbar2000