进入旧版 | 服务项目 | 成功案例 | 联系方式 | 过客留言 | 友情链接
   
设为首页
加入收藏
联系我们
网站首页 | 新闻资讯 | 操作系统 | 办公软件 | 网络软件 | 工具软件 | 媒体动画 | 网页制作 | 网站开发 | 程序开发 | 平面设计
Photoshop视频教程 | Word入门 | Flash入门 | JScript | VBScript | ASP | PHP | ADO | 网页特效 | 3DS MAX6.0命令 | 系统进程
您当前的位置:GOODSGY电脑学习网 -> 程序开发 -> C/C++ -> 文章内容  
资源DLL与语言选择菜单的实现

  简介www.goodsgy.com

  在当今这个发展越来越快的世界中,软件的本地化及翻译工作越来越重要,极大地关系到软件的销量及普及率;就拿常见的Win32/MFC程序来说,一个比较方便的办法就是附加单独的资源DLL文件。www.goodsgy.com

  本文介绍了一种易于应用的方法,可在C++/MFC程序中支持多种语言,并演示了怎样用少量的代码添加对资源DLL的支持,这包含了两个方面:根据用户偏好在程序开始时自动选择最合适的语言;提供一个语言选择子菜单(以供用户自行选择)。如图所示:www.goodsgy.com

www.goodsgy.com

  关于资源DLLwww.goodsgy.com

  有关在程序中支持多语言最灵活的方法,也许就是使用所谓的“资源DLL”了,其主要思想是为每种语言创建一个单独的DLL文件,而这个DLL中包含了已翻译为某种特定语言的程序资源;因此,如果你的程序最初版本是中文,且又翻译成了法文、德文、日文,这样你就有了三个资源DLL。中文资源在.exe文件中,而其他三种语言各自对应一个DLL文件。www.goodsgy.com

  如果程序中又需要支持某种新的语言,只须简单地添加一个DLL到安装文件中就行了。在程序运行时,会根据用户偏好,相应地加载资源DLL。www.goodsgy.com

  资源DLL可由一个专门的Visual Studio工程来创建,也可由某些专用的工具来创建,本文以Visual Studio 2003来创建,Visual Studio 2005也差不多。顺便提一下,把所有的语言资源都打包进EXE文件,在理论上是可行的,但在实际中却行不通;因为,大多数加载资源的高层API——如LoadString()、DialogBox()等等——不会让你指定想要的语言,而SetThreadLocale()也不会如预期那样工作(此API在Win9X中不存在)。www.goodsgy.com

  一步一步支持资源DLLwww.goodsgy.com

  以下是在主程序中,添加支持资源DLL(语言选择菜单)的步骤:www.goodsgy.com

  1、 把LanguageSupport.h及LanguageSupport.cpp添加到你的工程。www.goodsgy.com

  在MyApp.h及MyApp.cpp(假定CMyApp是工程类)中,加入以下黑体行:www.goodsgy.com

以下是引用片段:
#include "LanguageSupport.h"
  class CMyApp : public CWinApp
  {
  public:
  CLanguageSupport m_LanguageSupport;
  ...
  };
  BOOL CMyApp::InitInstance()
  {
  //把以下这行注释掉,防止MFC进行自己的资源DLL处理。
  // CWinApp::InitInstance();
  ...
  SetRegistryKey(_T("MyCompany"));
  //根据用户偏好,加载相应的资源DLL。
  m_LanguageSupport.LoadBestLanguage();
  ...
  }
www.goodsgy.com

  在主菜单中,添加一个名为“语言(Language)”的菜单项。接下来,在CMainFrame类中,为“语言(Language)”菜单项添加一个菜单更新处理程序,假定名为OnUpdateToolsLanguage(),如下所示:www.goodsgy.com

以下是引用片段:
void CMainFrame::OnUpdateToolsLanguage(CCmdUI *pCmdUI)
  {
  //创建语言子菜单(只在菜单第一次打开时)。
  theApp.m_LanguageSupport.CreateMenu(pCmdUI);
  }
www.goodsgy.com

[1] [2] [3]  下一页

在百度中搜索:资源DLL与语言选择菜单的实现
在Google中搜索:资源DLL与语言选择菜单的实现
在Yahoo中搜索:资源DLL与语言选择菜单的实现

收藏到网摘:新浪VIVI 365key 我摘 POCO网摘 博采中心 YouNote 和讯网摘 天天收藏
[] [返回上一页] [打 印] [收 藏]

 相关文章    最新文章
· 警惕网页黑手导致浏览器资源占用飚高
· 浏览器资源占用高 网页中谁在作怪
· 教你快速释放Windows系统资源的小绝招
· [图文] 中国电骡VeryCD版eMule 免费资源下..
· [组图] 找出迅雷专用免费资源的真实下载地..
· [图文] Vista“资源管理器停止工作”怎么办..
· [图文] 进程管理 优化你的系统资源占用
· flash制作过程中避免占用CPU资源过度的几..
· [组图] POPO新版网络资源功能再强化
· Windows 2003共享资源拒绝访问修复实录
 
· SOA与数据挖掘在税收系统的应用
· 微软架构师谈编程语言发展之二
· 微软架构师谈编程语言发展之一
· 浅谈C++/CLI中引用类型的栈对象
· [图文] 资源DLL与语言选择菜单的实现
· [图文] 用VSTS代码验证工具捕捉C/C++错误
· C/C++:如何在程序中加载JPG图片?
· 嵌入式系统中文输入法的设计
· 内存调试技巧:C 语言最大难点揭秘
· C程序实现汉字内码与GB码

∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论…]
站内搜索

精彩图文
  网站导航  
操作系统 办公软件 网络软件
Vista Windows2003 WindowsXP Windows2000/NT Windows9X/ME Linux 其他 Word Excel Powerpoint Outlook 金山系列 其他 网页浏览 上传下载 联络聊天 邮件工具 服务器软件 网络辅助
工具软件 媒体动画 网页制作
系统工具 媒体工具 压缩工具 图文处理 文件管理 其他 3DMAX Authorware Director Maya 视频处理 其他 Flash Dreamweaver FireWorks FrontPage LiveMotion Golive HTML/CSS 其它
网站开发 平面设计 程序设计
ASP JSP PHP CGI JavaScript VBScript XML/SOAP Web服务器 Photoshop PhotoImpact CorelDraw Illustrator Freehand 设计欣赏 其他 VB VC .NET C/C++ DELPHI JAVA

冀ICP备05019428号
Copyright © 2004-2008 电脑学习网 Inc.All rights reserved.
TEL:13832340607
QQ:39873155
E_Mail:goodsgy(#)hotmail.com   (把(#)替换成@)
MSN:goodsgy(#)hotmail.com   (把(#)替换成@)