Отключить главное меню

У меня есть меню, которое выглядит примерно так:

введите описание изображения здесь

Когда я открываю определенный диалог, я хочу отключить все меню. Я понимаю, что могу по отдельности отключить каждый пункт меню, используя Update_Command_UIs, но это будет означать добавление обработчиков событий для 100 или более пунктов меню. Меню загружается изначально с CMultiDocTemplate. Есть ли способ сделать это с помощью ресурса ID (IDR_MENU)?

Любая помощь будет оценена.
Спасибо.

1

Решение

В вашем классе мэйнфреймов, m_wndMenuBar.EnableWindow(FALSE);? Элементы главного меню не будут выделены серым цветом, но их нельзя будет выбрать.

2

Другие решения

Я использовал ,

CMenu* pMenu = AfxGetMainWnd()->GetMenu();
if(pMenu != NULL)
{
for(UINT i = 0; i < pMenu->GetMenuItemCount (); ++i)
pMenu->EnableMenuItem(i, MF_BYPOSITION | MF_DISABLED);
}

как упомянуто в http://forums.codeguru.com/showthread.php?456136-Can-I-disable-menu-bar. Это сработало для меня.

2

По вопросам рекламы [email protected]