MFC多语言实现方法
2019獨角獸企業重金招聘Python工程師標準>>>
一、字符放在DLL資源文件中,切換資源模塊(程序默認使用exe模塊資源)。
實現要點:
新建一個只包含資源的DLL。通過函數AfxSetResourceHandle設置資源模塊。
示意代碼為:
?????? AfxSetResourceHandle(LoadLibrary("english.dll"));
Cstring strMsg;
strMsg.LoadString(ID_TITLE);
SetWindowText(strMsg);
見例子MulLanguage_dll.rar
二、字符放在EXE資源文件中,選擇對應的語言資源。
實現要點:
新建多個ID相同,語言不同的資源。
通過SetThreadLocale設置當前線程使用語言。
示意代碼:
SetThreadLocale(MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_US));
CString strMsg;
strMsg.LoadString(ID_TITLE);
SetWindowText(strMsg);
???? 例子:MulLanguage_rc.rar
三、字符放在INI文件中。
實現要點:
同種語言字符放在單獨的文本,通過切換文件方式切換語言。
優點:增加一種新語言,只需增加相應的語言的文件。
缺點:DLL模塊中的字符轉換,字符ID命名。
CString strMsg;
GetPrivateProfileString(…);
SetWindowText(strMsg);
見例子MulLanguage_ini.rar
?
綜合上面三種方法,從原理上看其實是同一種方法,獲取相應語言下的字符,再顯示字符,不同之處是字符存放位置不同。字符可以存放在DLL資源中,exe資源中,文本文件中。相應地獲取字符方式也不同。
http://blog.csdn.net/John_Yang/article/details/5549400
轉載于:https://my.oschina.net/u/555701/blog/56656
總結
以上是生活随笔為你收集整理的MFC多语言实现方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java网络编程 个人心得
- 下一篇: Oracle应用集群详解