CMenu::CreateMenu
创建一个菜单并将它附加到 CMenu 对象。
BOOL CreateMenu( );
返回值
非零,如果菜单成功创建的;否则为0。
备注
菜单是最初为空的。 使用 AppendMenu 或 InsertMenu 成员函数,菜单项可以添加。
如果菜单分配给窗口,自动销毁它,当窗口销毁时。
在退出之前,应用程序必须释放系统资源与菜单,如果菜单未指派给窗口。 应用程序通过调用 DestroyMenu 成员函数释放一个菜单。
示例
// 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;
要求
Header: afxwin.h