使用純資源DLL檔案實現多語言選單、介面文字、Tooltips等 (轉)

gugu99發表於2007-12-05
使用純資源DLL檔案實現多語言選單、介面文字、Tooltips等 (轉)[@more@]

  在使用vc寫簡繁體通用時,對實現選單、介面、Tool等的文字時無法實現通用。如果寫簡體和繁體各一套程式,那肯定不現實。查詢所有資料和文章都只能實現選單的多語言,且使用起來也不方便;並且無法實現介面、Tooltips等的多語言。因而,採用純資源的DLL來實現多語言。

  純資源DLL檔案實現步驟如下:

  (1)建立簡繁體MDI或SDI程式後,把VC自動建立的.rc,.rc2,.ico,.bmp等檔案從程式框架中刪除;

  (2)使用Projects的 Dynamic-Link Library分別建立簡繁體純資源dll檔案,把由MDI或SDI程式建立的.rc,.rc2,.ico,.bmp等檔案加入到該工程檔案中;

  (3)在Project選單項選擇Settings然後選擇Project SettingsLink標籤;然後在Project Options框內輸入/NOENTRY。編譯後就產生純資源DLL檔案;

  純資源DLL檔案加入沒有任何資源的MDI或SDI程式,其步驟如下:

 (1)在主應用程式類的.h檔案中定義protected 的 HINSTANCE 型別變數(如:mhInstMenu); 

  (2)在主應用程式類的.cpp檔案::InitInstance()過程中新增下面程式碼:

  mhInstMenu = ::LoadLibrary("Menu.dll");  // Menu.dll為多語言純資源的dll檔案

  if (mhInstMenu == NULL) 

  { 

  return FALSE; // failed to load the localized res 

  } 

  else { 

  AfxSetResourceHandle(m_hInstMenu); // get resources from the DLL 

  }
 
(3)在主應用程式類的.cpp檔案::ExitInstance()函式過程中新增下面程式碼:

FreeLibrary(mhInstMenu);

 

注意:Menu.dll檔案可以有三种放置方法:

  A、和.exe檔案在同一個路徑下面;

  B、放在98的System或的System32路徑下面;

  C、放在透過Path設定的路徑下面。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-988540/,如需轉載,請註明出處,否則將追究法律責任。

相關文章