使用纯资源DLL文件实现多语言菜单、界面文字、Tooltips等

原创 2003年06月18日 13:57:00

      在使用vc写简繁体通用程序时,对实现菜单、界面、Tooltips等的文字时无法实现通用。如果写简体和繁体各一套程序,那肯定不现实。查找所有资料和文章都只能实现菜单的多语言,且使用起来也不方便;并且无法实现界面、Tooltips等的多语言。因而,采用纯资源的DLL文件来实现多语言。

      纯资源DLL文件实现步骤如下:

      (1)创建简繁体MDI或SDI程序后,把VC框架自动创建的.rc,.rc2,.ico,.bmp等文件从程序框架中删除;

      (2)使用Projects的Win32 Dynamic-Link Library分别创建简繁体纯资源dll文件,把由MDI或SDI程序创建的.rc,.rc2,.ico,.bmp等文件加入到该工程文件中;

     (3)在Project菜单项选择Settings然后选择Project SettingsLink标签;然后在Project Options框内输入/NOENTRY。编译后就产生纯资源DLL文件;

     纯资源DLL文件加入没有任何资源的MDI或SDI程序,其步骤如下:

     (1)在主应用程序类的.h文件中定义protected 的 HINSTANCE 类型变量(如:mhInstMenu);    

  (2)在主应用程序类的.cpp文件::InitInstance()函数过程中添加下面代码:

    mhInstMenu = ::LoadLibrary("Menu.dll");  // Menu.dll为多语言纯资源的dll文件

    if (mhInstMenu == NULL) 

    { 

        return FALSE; // failed to load the localized resources 

    } 

    else { 

        AfxSetResourceHandle(m_hInstMenu); // get resources from the DLL 

    }
    
(3)在主应用程序类的.cpp文件::ExitInstance()函数过程中添加下面代码:

FreeLibrary(mhInstMenu);

 

注意Menu.dll文件可以有三种放置方法:

    A、和.exe文件在同一个路径下面;

    B、放在Windows98的System或Windows2000的System32路径下面;

    C、放在通过Path设置的路径下面。

VC中使用纯资源dll实现多语言版本

用VC纯资源dll解决国际化问题这的确是个老话重谈了,因为这里面确实也没有什么可以称的上技术含量的,只是实现起来有点烦琐,不过我还是要写出来,希望刚接触这方面的同行们不至于走太多的弯路。  由于...
  • wander_wang
  • wander_wang
  • 2015年06月17日 20:43
  • 923

使用纯资源DLL文件实现多语言菜单、界面文字、Tooltips等

使用纯资源DLL文件实现多语言菜单、界面文字、Tooltips等 http://www.xnovo.com/doc/html/aebbbg/bgbbehaattoswnltyq.html     在使...
  • lingll
  • lingll
  • 2005年08月24日 12:26
  • 1438

纯资源的dll文件来实现多语言

在使用vc写简繁体通用程序时,对实现菜单、界面、tooltips等的文字时无法实现通用。如果写简体和繁体各一套程序,那肯定不现实。查找所有资料和文章都只能实现菜单的多语言,且使用起来也不方便;并且无法...
  • wishfly
  • wishfly
  • 2008年02月18日 18:12
  • 629

多语言菜单(dll纯资源)

偶然在网上看到一片文章,觉得很不错,拿来。原文如下: 解决国际化问题这的确是个老话重谈了,因为这里面确实也没有什么可以称的上技术含量的,只是实现起来有点烦琐,不过我还是要写出来,希望刚接触这方面的同...
  • huihui0121
  • huihui0121
  • 2012年06月11日 21:43
  • 878

MFC - 资源文件实现多语言界面

这里介绍的方法是使用不同语言的资源文件达成多语言的效果。 多语言DLL   第一步:创建一个MFC的DLL     第二步:设置工程属性为Resource DLL,如果在 ...
  • wenmang1977
  • wenmang1977
  • 2011年10月04日 16:34
  • 3797

Qt工程多dll实现多语言

Qt在可执行文件中(exe)实现多语言非常简单,直接在main函数中,通过如下调用即可实现: QApplication a(argc, argv); QTranslator translator; t...
  • yanfk
  • yanfk
  • 2016年12月11日 15:14
  • 589

实现多语言资源

      在软件国际化的今天,资源从代码中独立出来,使在不同语言操作系统下能运行不同语言版本的程序,是很有意义的事. MFC 7.0 及更高版本提供对附属 DLL 的增强支持,该功能有助于创建针对多...
  • dulinbo
  • dulinbo
  • 2007年10月30日 11:42
  • 813

纯资源DLL的编写[转]

 纯资源   DLL是仅包含资源(图标,位图,字符串,声音,视频,对话框等)的   DLL。使用纯资源DLL可以节约可执行文件的大小,可以被所有的应用程序所共享,从而提高系统性能。纯资源DLL的编写比...
  • kamaliang
  • kamaliang
  • 2009年02月15日 23:22
  • 5266

C# 多语言资源文件的访问

这两天一直研究关于duoyuyan资源的处理
  • courageously
  • courageously
  • 2014年06月20日 09:23
  • 2178

VC实现界面多语言化

VC实现界面多语言化 几种常见的多语言化方法 VC实现多语言化有多种方法,下面简要介绍了几种方法并进行了比较。 方法1:为每个资源项(对话框、字符串、菜单等)创建一个或者多个副本,并将其内容更...
  • china_hxx
  • china_hxx
  • 2013年08月19日 12:35
  • 3289
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用纯资源DLL文件实现多语言菜单、界面文字、Tooltips等
举报原因:
原因补充:

(最多只允许输入30个字)