LoadMenu

王朝百科·作者佚名  2010-02-20
窄屏简体版  字體: |||超大  

Win32 SDK函数功能:该函数从与应用事例相联系的可执行文件(.EXE)中加载指定的菜单资源。

函数原型:HMENU LoadMenu(HINSTANCE hlnstance,LPCTSTR lpMenuName);

参数:

hlnstance:含有被加载菜单资源的事例模块的句柄。

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方式实现。

MFCCMenu::LoadMenu

BOOL LoadMenu( LPCTSTR lpszResourceName );

BOOL LoadMenu( UINT nIDResource );

返回值:如果菜单资源装载成功,则返回非零值,否则为0。

参数:lpszResourceName指向一个空终止的字符串,该字符串包含了要装载的菜单资源名称。nIDResource指定将要装载的菜单资源的菜单ID号。

说明:

从应用的可执行文件中装载菜单资源,并将其附加给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;}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航