由于MFC应用程序也有自己的资源文件,当你调用MFC函数比如 CString::LoadString 或其它 LoadIcon
时,MFC应用程序框架首先跟踪搜索EXE文件的资源,然后才是DLL和MFC的资源,因此在使用纯资源DLL时候,必须人为先改变资源的搜索顺序,可以通过使用
AfxSetResourceHandle 函数来实现,具体实现如下:
BOOL CMultilanguageApp::InitInstance()
{
AfxEnableControlContainer();
if (m_bChinese)
{
m_hLangDLL=::LoadLibrary("chinese.dll");
}
else
{
m_hLangDLL=::LoadLibrary("english.dll");
}
AfxSetResourceHandle(m_hLangDLL);
……
}
下面开始谈谈具体的实现步骤。
一、创建主工程
步骤:
运行Visual Studio 6.0->File->New...->Projects;选择Mfc AppWizard(exe),在右边Project
name下输入multilanguage,
下一步选择支持中文就可以呢;从项目中移出所有的资源文件,把Resource面板中的所有文件移出,把FileView面板中的multi