Udostępnij za pośrednictwem


CMenu::CreateMenu

Tworzy menu i dołącza go do CMenu obiektu.

BOOL CreateMenu( );

Wartość zwracana

Niezerowa, jeśli menu został utworzony pomyślnie; 0 inaczej.

Uwagi

Menu jest początkowo puste.Elementy menu można dodać za pomocą AppendMenu lub InsertMenu funkcji składowej.

Jeśli menu jest przypisany do okna, automatycznie jest niszczony, gdy okno jest niszczone.

Przed zamknięciem, aplikacji należy zwolnić zasoby systemowe skojarzone z menu, jeśli menu nie jest przypisany do okna.Aplikacja zwalnia menu, wywołując DestroyMenu funkcji składowej.

Przykład

// The code fragment below shows how to create a new menu for the
// application window using CreateMenu() and CreatePopupMenu().
// Then, the created menu will replace the current menu of the
// application. The old menu will be destroyed with DestroyMenu().
// NOTE: The code fragment below is done in a CFrameWnd-derived class.

// Create a new menu for the application window.
VERIFY(m_NewMenu.CreateMenu());

// Create a "File" popup menu and insert this popup menu to the
// new menu of the application window. The "File" menu has only
// one menu item, i.e. "Exit".
VERIFY(m_FileMenu.CreatePopupMenu());
m_FileMenu.AppendMenu(MF_STRING, ID_APP_EXIT, _T("E&xit"));
m_NewMenu.AppendMenu(MF_POPUP, (UINT_PTR)m_FileMenu.m_hMenu, _T("&File"));

// Remove and destroy old menu
SetMenu(NULL);
CMenu* old_menu = CMenu::FromHandle(m_hMenuDefault);
old_menu->DestroyMenu();

// Add new menu.
SetMenu(&m_NewMenu);

// Assign default menu
m_hMenuDefault = m_NewMenu.m_hMenu;

Wymagania

Nagłówek: afxwin.h

Zobacz też

Informacje

Klasa CMenu

Wykres hierarchii

CMenu::CMenu

CMenu::DestroyMenu

CMenu::InsertMenu

CWnd::SetMenu

CreateMenu

CMenu::AppendMenu