用vc純資源dll解決國際化問題這的確是個老話重談了,因為這裡面確實也沒有什麼可以稱的上技術含量的,只是實現起來有點煩瑣,不過我還是要寫出來,希望剛接觸這方面的同行們不至於走太多的彎路。
由於mfc應用程式也有自己的資源檔案,當你呼叫mfc函式比如 cstring::loadstring 或其它 loadicon 時,mfc應用程式框架首先跟蹤搜尋exe檔案的資源,然後才是dll和mfc的資源,因此在使用純資源dll時候,必須人為先改變資源的搜尋順序,可以 通過使用 afxsetresourcehandle 函式來實現,具體實現如下:
afxenablecontrolcontainer();
if (m_bchinese)
else
afxsetresourcehandle(m_hlangdll);……}
下面開始談談具體的實現步驟。
一、建立主工程
步驟:二、建立英文版的dll
步驟:三、建立中文版的dll
具體的方法同建立英文版的dll一樣,把專案名改為chinese.只是從 project 選單中選擇 setting… 選項。然後在link標籤下"project options" 新增 "/noentry" 選項。最後,編譯並建立動態鏈結庫。
四、修改 multilanguage工程
private: bool m_bchinese;
hinstance m_hlangdll;
建構函式中初始化:
m_bchinese = true;
m_hlangdll = null;
} 在initinstance()函式修改資源載入順序:
afxenablecontrolcontainer();
if (m_bchinese)
else
afxsetresourcehandle(m_hlangdll);
……}
別忘了exitinstance()函式釋放掉載入的dll資源
if(m_hlangdll)
afxfreelibrary(m_hlangdll);
}
一步一步教你用VC純資源dll解決國際化問題
一步一步教你用vc純資源dll解決國際化問題這的確是個老話重談了,因為這裡面確實也沒有什麼可以稱的上技術含量的,只是實現起來有點煩瑣,不過我還是要寫出來,希望剛接觸這方面的同行們不至於走太多的彎路。由於mfc應用程式也有自己的資源檔案,當你呼叫mfc函式比如 cstring loadstring 或...
資源國際化
properties 檔案裡的資源必須經過編碼,不能出現中問,日文等。且必須是ascii 碼。jdk 中bin 資料夾下的native2ascii.exe 可以把資源轉換為ascii 碼。在命令提示符中輸入 native2ascii encoding utf 8 sourcefile targetf...
VC 製作純資源 DLL
在製做前請先備份好你的程式!純資源dll檔案實現步驟如下 1 新建立工程xxdll。使用projects的win32 dynamic link library建立純資源dll工程 也就是空的工程 把由你的程式建立的.rc,rc2,ico,bmp等 其他所有資源 檔案加入到該工程檔案中 4 在你的xx...