LoadMenu

LoadMenu函式從與應用程式實例相聯繫的執行檔(.EXE)中載入指定的選單資源。

基本介紹

  • 中文名:LoadMenu
  • 頭檔案:winuser.h
  • 輸入庫:user32.lib
  • Unicode:以Unicode和ANSI方式實現
Win32 SDK,MFC,

Win32 SDK

函式功能:該
函式原型:HMENU LoadMenu(HINSTANCE hlnstance,LPCTSTR lpMenuName);
參數:
hlnstance:含有被載入選單資源的實例模組的句柄。若此參數為NULL,則從當前實例中載入選單。
LpMenuName:指向含有選單資源名的以空結束的字元串的指針。同時,此參數可由低位字上的資源標識符和高位字上的零組成。要創建此值,用MAKEINTRESOURCE宏。注意,選單ID(所有資源ID類同)也可以直接由字元串構造,如ID值為"IDM_MYMENU"(ID值含引號)
返回值:如果函式調用成功,返回值是選單資源句柄;如果函式調用失敗,返回值是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。
參數:
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;}

相關詞條

熱門詞條

聯絡我們