Шаг 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;
}

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 19.01.2002