Я использую CMenu :: ModifyMenu в методе OnCreate моего производного класса CFrameWnd , чтобы изменить заголовки в моем меню в соответствии с языком пользователя .
Я использую конструктор VC ++, и меню объявлено в файле .rc.
Для элементов MENUITEM я использую его следующим образом:
m_wndMenu->ModifyMenu(ID_APP_EXIT, MF_BYCOMMAND, NULL, CString((LPWSTR) ID_APP_EXIT));
Для элементов POPUP (у которых нет идентификатора) я использую его следующим образом:
m_wndMenu->ModifyMenu(0, MF_BYPOSITION | MF_STRING, NULL, CString((LPWSTR) ID_MENU_POPUP_FILE));
Работает, как и ожидалось, для изменения заголовков, но для пунктов меню, которые изначально отключены, когда я изменяю заголовок, они включаются. Как мне это исправить?