由于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);
……
}

本文介绍了如何在MFC应用程序中通过加载纯资源DLL来实现多语言版本,包括创建主工程、英文版DLL和中文版DLL的步骤,以及在应用程序启动时更改资源搜索顺序的方法。

2490

被折叠的 条评论
为什么被折叠?



