LoadMenu
函数
LoadMenu是一种函数,从与应用程序实例相联系的可执行文件(.EXE)中加载指定的菜单资源。
函数介绍
Win32 SDK
函数功能:该
函数原型:HMENU LoadMenu(HINSTANCE hlnstance,LPCTSTR lpMenuName);
参数:
hlnstance:含有被加载菜单资源的实例模块的句柄。若此参数为NULL,则从当前实例中加载菜单。
LpMenuName:指向含有菜单资源名的以空结束的字符串的指针。同时,此参数可由低位字上的资源标识符和高位字上的零组成。要创建此值,用MAKEINTRESOURCE宏。
返回值:如果函数调用成功,返回值是菜单资源句柄;如果函数调用失败,返回值是NULL。若想获得更多的错误信息,请调用GetLastError函数。
备注:关闭应用程序之前,用函数DestroyMenu来销毁菜单并释放加载菜单占用的内存。Windows CE 1.0不支持层叠式菜单。Windows CE 2.0及更高版本支持层叠式菜单。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;输入库:user32.lib;Unicode:在Windows NT环境下,以Unicode和ANSI方式实现。
MFC
CMenu::LoadMenu
BOOL LoadMenu( LPCTSTR lpszResourceName );
BOOL LoadMenu( UINT nIDResource );
返回值:如果菜单资源装载成功,则返回非零值,否则为0。
参数:
说明:
从应用的可执行文件中装载菜单资源,并将其附加给CMenu 对象。
如果菜单没有被指定给某一窗口,那么在离开之前,应用必须释放与菜单相关联的系统资源。应通过调用DestroyMenu成员函数来释放菜单。
// CMainFrame::OnReplaceMenu() is a menu command handler for CMainFrame
// class, which in turn is a CFrameWnd-derived class. It loads a new
// menu resource and replaces the SDI application window's menu bar with
// this new menu. CMainFrame is a CFrameWnd-derived class.
void CMainFrame::OnReplaceMenu()
{
// Load the new menu.
m_NewMenu.LoadMenu(IDR_SHORT_MENU);
ASSERT(m_NewMenu);
// Remove and destroy the old menu
SetMenu(NULL);
::DestroyMenu(m_hMenuDefault);
// Add the new menu
SetMenu(&m_NewMenu);
// Assign default menu
m_hMenuDefault = m_NewMenu.GetSafeHmenu(); // or m_NewMenu.m_hMenu;}
参考资料
最新修订时间:2024-12-14 07:12
目录
概述
函数介绍
参考资料