zoukankan      html  css  js  c++  java
  • 使用纯资源DLL文件实现多语言菜单、界面文字、Tooltips等[转]

    在使用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 Settings的Link标签;然后在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设置的路径下面。

    转自:http://biancheng.dnbcw.info/216/216059.html

  • 相关阅读:
    Python随笔——Map之键对应多值的处理
    Python操作cx_Oracle笔记
    jmeter进阶之Beanshell引用Java代码
    碎片记录——JMeter之 http post json对象与参数化调用,以及beanshell 引用Java源码
    java源码生成可运行jar
    小记:web安全测试之——固定session漏洞
    Git关联JIRA的issue
    APP稳定性测试-monkey执行
    maven之assembly插件
    wrapper配置文件详解
  • 原文地址:https://www.cnblogs.com/vranger/p/3938375.html
Copyright © 2011-2022 走看看