首先,在你创建了一个应用程序后,需要创建一个 dll ,该 dll 包含了你程序的资源,资源的 ID 与你程序的完全相同,但内部的语言不同。
具体方法如下:新建一个 dll 项目,然后把你程序的资源文件复制到 dll 项目资源中即可,接下来,修改 dll 项目中资源的语言(这可能需要花一点时间)。然后只要简单修改一下你的程序代码就可以了:
在 CWinApp 继承类中,添加一个成员变量(我使用的是日语):
... HINSTANCE hJapaneseDll //Global var .....
在 InitInstance 中添加一下代码(粗体部分是我添加的):
CMultiLangApp::InitInstance() { ...... //Get Language Setting from INI uLanguage = GetProfileInt("Language", "Language",0); if (uLanguage == 1) { //Language is set for Japanese. hJapaneseDll = AfxLoadLibrary("Japanese.dll"); ASSERT(hJapaneseDll); AfxSetResourceHandle(hJapaneseDll); } ..... //create dialog or main frame ..... }
最后,你可以添加一个菜单项或者单选按钮,用于切换语言,具体请看代码
本文地址:http://com.8s8s.com/it/it1562.htm