首先,在你创建了一个应用程序后,需要创建一个 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
.....
}
最后,你可以添加一个菜单项或者单选按钮,用于切换语言,具体请看代码