ITPub博客

首页 > IT基础架构 > 网络安全 > 使用纯资源DLL文件实现多语言菜单、界面文字、Tooltips等 (转)

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

原创 网络安全 作者:amyz 时间:2007-11-07 16:31:16 0 删除 编辑
使用纯资源DLL文件实现多语言菜单、界面文字、Tooltips等 (转)[@more@]

  在使用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 resource

  } 

  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设置的路径下面。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752019/viewspace-981133/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    3984
  • 访问量
    7334693