Я пытаюсь получить подменю, чтобы я мог вносить в него изменения до его отображения.Как получить подменю в MFC?
Так что я создал обработчик OnInitMenu()
для своего окна. И я планировал использовать pMenu->GetMenuItemInfo()
, чтобы получить подменю.
Однако, похоже, это не сработает. Чтобы найти нужное меню, я должен предоставить идентификатор команды меню (я не считаю его удовлетворительным для позиции позиции жесткого кода). Но пункты меню, открывающие подменю, не имеют идентификаторов команд. Я могу получить команду меню, которая существует внутри этого подменю, но тогда у меня все еще нет самого меню.
Как я могу найти подменю, вложенное в основное меню, не полагаясь на MF_BYPOSITION
?
К сожалению, для этого требуется указать положение подменю. Это означает, что код, который я пишу, будет разбит при каждом изменении пунктов меню. Вот почему я специально стараюсь избегать этого. –
попробуйте создать перечисление, чем каждый раз, когда вы добавляете новое меню, просто добавьте его в перечисление. И индекс, который вы должны передать, является индексом в параметре подменю, являющимся реальным индексом меню, если вы добавите элемент в одно из подменю, порядок меню не будет изменен. – jonathanrz