让你的VB程序支持多国语言的切换

2016-02-19 18:25 22 1 收藏

get新技能是需要付出行动的,即使看得再多也还是要动手试一试。今天图老师小编跟大家分享的是让你的VB程序支持多国语言的切换,一起来学习了解下吧!

【 tulaoshi.com - 编程语言 】

以前做过一个vb的小项目,客户需要软件同时能够支持中文和英文,为此写了一个自动语言切换的模块来用,不敢独享,拿来给大家参考一下,如果你有什么改进也可以写信给我。。mailto:tonyki@citiz.net

  模块MdlLanMgr.bas:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  AttributeVB_Name="ModuleLanMgr"

  OptionExplicit

  PrivateDeclareFunctionGetPrivateProfileString&Lib"kernel32"Alias"GetPrivateProfileStringA"(ByVallpApplicationNameAsString,ByVallpKeyNameAsString,ByVallpDefaultAsString,ByVallpReturnedStringAsString,ByValnSizeAsLong,ByVallpFileNameAsString)

  PrivateLanguageFileNameAsString

  '选择语言

  PublicSubSelectLanguage(LanNameAsString)

  OnErrorResumeNext

  

  SelectCaseLanName'根据用户选择的语言的名称,分别读取不同的语言文件

  Case"English":

  LanguageFileName=AddSplash(App.Path)&"English.Lan"

  Case"Chinese(Simplify)":

  LanguageFileName=AddSplash(App.Path)&"ChineseS.Lan"

  Case"Chinese(Traditional)":

  LanguageFileName=AddSplash(App.Path)&"ChineseT.Lan"

  CaseElse:

  LanguageFileName=""

  EndSelect

  EndSub

  '翻译文字

  PublicFunctionTranslateStr(sSectionAsString,sKeyAsString,sDefValAsString)AsString

  DimsValueAsString*128

  DimNAsLong

  

  OnErrorResumeNext

  

  TranslateStr=sDefVal

  IfNotFileExists(LanguageFileName)Then

  ExitFunction

  EndIf

  N=GetPrivateProfileString(sSection,sKey,sDefVal,sValue,127,LanguageFileName)

  IfN0Then

  TranslateStr=Left(sValue,N)

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  EndIf

  EndFunction

  '自动转换Form上的一些基本控件(也可自行扩展,目前支持CommandButton,Label,OptionButton,CheckButton)

  PublicSubTranslateForm(FrmAsForm)

  DimIAsLong

  

  OnErrorResumeNext

  

  Frm.Caption=TranslateStr(Frm.Name,"Caption",Frm.Caption)

  ForI=0ToFrm.Controls.Count-1

  If(TypeOfFrm.Controls(I)IsCommandButton)Or(TypeOfFrm.Controls(I)IsLabel)_

  Or(TypeOfFrm.Controls(I)IsOptionButton)Or(TypeOfFrm.Controls(I)IsCheckBox)Then

  Frm.Controls(I).Caption=TranslateStr(Frm.Name,Frm.Controls(I).Name,Frm.Controls(I).Caption)

  EndIf

  NextI

  EndSub

->

来源:http://www.tulaoshi.com/n/20160219/1617634.html

延伸阅读
标签: ASP
        可能有的web应用程序,需要多语言支持,例如,讨论组,既有中文界面,以适合国人使用的方便,又需要英文界面,以满足国际化的需要。我想,似乎没有必要为每一个语言都写一个版本,这不仅比较繁琐,而且以后程序升级就必须修改所有版本的程序。熟悉vc++程序的朋友一定知道通常windows应用程序的国际...
我的天气怎么切换语言   我的天气怎么切换语言?我的天气覆盖了2万个城市,小伙伴根据使用需求可自由切换多种语言,如果要切换应用语言的小伙伴就跟小编一起来看看。接下来小编就教大家我的天气怎么切换语言? 1)打开我的天气进入应用后点击下方导航栏,接着点击左上角。 2)在设置页面点击,根据需求选择语言即可...
编写快速高效的Windows程序是我们的实际需要。当前越来越多的专业和非专业编程人员都倾向于用VB来编写一些Windows下的应用软件。但不可否认:VB所写的应用软件由于不是真编译代码,逊色于用C++和后起之秀Delphi编写的应用程序。以下参考有关资料并结合日常的使用经验,来谈谈如何在最大程度上弥补VB的这些不足,从而写出更加有效的Windows程序...
用VB实现程序的隐形 在一些系统,为了特定目的,经常要求程序隐藏起来运行,例如DCS(集散控制系统)中的后台监控系统、木马控制程序、源码防拷贝等,以减少被发现、截杀和反汇编的风险。这种功能模块要求程序在运行期间不仅不会在桌面出现,也不允许被操作者从任务管理器列表中发现。 程序隐形的原理 对于一个隐形程...
来电怎么切换语言?   来电怎么切换语言?小伙伴使用语言的习惯都竞相不同,大部分小伙伴都使用简体,也有很多小伙伴喜欢使用繁体英语等。想要更换语言的小伙伴跟小编来看看教程来电怎么切换语言?来电切换语言方法。 1)打开来电进入应用后点击下方导航栏,接着点击。 2)早设置页面点击,选择你要切换的语言点击右...

经验教程

184

收藏

34
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部