词条 | LoadMenu |
释义 | 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;} |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。