Шаг 855 - CMenu::CreateMenu

BOOL CreateMenu( );

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

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

Пример

// Кодовый фрагмент ниже показывает, как создать новое меню для
// Окно прикладной программы, использующее CreateMenu () и CreatePopupMenu ().
// Затем, созданное меню заменит текущее меню
// прикладной программы. Старое меню будет разрушено с DestroyMenu ().
// Кодовый фрагмент ниже выполнен в классе наследнике от CFrameWnd.

// Создать новое меню для окна прикладной программы .
VERIFY(m_NewMenu.CreateMenu());

// Создать "File" всплывающее меню, и вставить это всплывающее меню в
// новое меню окна прикладной программы. В меню "File" только
// один пункт меню, то есть "Exit".

VERIFY(m_FileMenu.CreatePopupMenu());
m_FileMenu.AppendMenu(MF_STRING, ID_APP_EXIT, (LPCTSTR)"E&xit");
m_NewMenu.AppendMenu(MF_POPUP, (UINT) m_FileMenu.m_hMenu, "&File");

//Удалите и уничтожьте старое меню
SetMenu(NULL);
CMenu* old_menu = CMenu::FromHandle(m_hMenuDefault);
old_menu->DestroyMenu();

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

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

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