Шаг 566 - CMenu::LoadMenu.

Автор Каев А. Г.
BOOL LoadMenu( LPCTSTR lpszResourceName );
BOOL LoadMenu( UINT nIDResource );

Возвращаемое значение
Отлично от нуля если ресурс меню был загружен успешно, иначе 0.

Параметры
lpszResourceName
Указатель на строку с нулевым символом в конце которая содержит имя ресурса меню.
nIDResource
Определяет меню ID ресурса.

Замечания
Загружает ресурс меню из исполняемого файла прикладной программы и присоединяет его к объекту CMenu.
Перед выходом, прикладная программа должна освободить ресурсы системы связанные с меню, если меню не назначено к окну. Прикладная программа освобождает меню вызывая DestroyMenu функцию.

Пример

// CMainFrame::OnReplaceMenu()  - драйвер команды меню для CMainFrame
// Класс, который в свою очередь является потомком CFrameWnd. Это загружает новый
// ресурс меню и заменяет SDI строку меню окна прикладной программы 
//этим новым меню. CMainFrame - класс наследник CFrameWnd.

void CFrameWnd::OnReplaceMenu() 
{
   // Загрузить новое меню
   m_NewMenu.LoadMenu(IDR_SHORT_MENU);
   ASSERT(m_NewMenu);

   // Удалить старое меню
   SetMenu(NULL);
   ::DestroyMenu(m_hMenuDefault);

   // Добавить новое меню
   SetMenu(&m_NewMenu);

   // Назначьте заданное по умолчанию меню
   m_hMenuDefault = m_NewMenu.GetSafeHmenu();  // или m_NewMenu.m_hMenu;
}

Hosted by uCoz