设为首页 加入收藏

TOP

用VC纯资源dll解决国际化问题(二)
2013-03-05 13:59:02 来源: 作者: 【 】 浏览:637
Tags:资源 dll 解决 国际化 问题

 

  三、创建中文版的DLL

  具体的方法同创建英文版的DLL一样,把项目名改为chinese.只是从 Project 菜单中选择 Setting… 选项。然后在Link标签下"Project Options" 添加 "/NOENTRY" 选项。最后,编译并建立动态链接库。

  四、修改 multilanguage工程

  在 CMultilanguageApp 类中添加如下的成员变量:

  private:

  BOOL m_bChinese;

  HINSTANCE m_hLangDLL;

  构造函数中初始化:

  CMultilanguageApp::CMultilanguageApp()

  {

  m_bChinese = TRUE;

  m_hLangDLL = NULL;

  }

  在InitInstance()函数修改资源加载顺序:

  BOOL CMultilanguageApp::InitInstance()

  {

  AfxEnableControlContainer();

  if (m_bChinese)

  {

  m_hLangDLL=::LoadLibrary("chinese.dll");

  }

  else

  {

  m_hLangDLL=::LoadLibrary("english.dll");

  }

  AfxSetResourceHandle(m_hLangDLL);

  ……

  }

  别忘了ExitInstance()函数释放掉加载的dll资源

  int CMultilanguageApp::ExitInstance()

  {

  if(m_hLangDLL)

  AfxFreeLibrary(m_hLangDLL);

  return CWinApp::ExitInstance();

  }

  最后编译运行!

  小结

  以上的方法实现了中英文软件界面,不过,只要稍做扩展,很容易实现对多语言的支持。

      

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇VC超强仿QQ自动伸缩窗口 下一篇字符型数组在内存中的存储

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: