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

lhuangomyo23

lhuangomyo23

2016-02-19 18:25

get新技能是需要付出行动的,即使看得再多也还是要动手试一试。今天图老师小编跟大家分享的是让你的VB程序支持多国语言的切换,一起来学习了解下吧!
以前做过一个vb的小项目,客户需要软件同时能够支持中文和英文,为此写了一个自动语言切换的模块来用,不敢独享,拿来给大家参考一下,如果你有什么改进也可以写信给我。。mailto:tonyki@citiz.net

  模块MdlLanMgr.bas:

  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)

  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)_

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

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

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

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

  EndIf

  NextI

  EndSub

->

展开更多 50%)
分享

猜你喜欢

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

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

怎样在程序中利用C++支持多国语言

编程语言 网络编程
怎样在程序中利用C++支持多国语言

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Servlet、Jsp中的多国语言显示

Java JAVA基础
Servlet、Jsp中的多国语言显示

Java多国语言问题解决方案

编程语言 网络编程
Java多国语言问题解决方案

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

《巫师2刺客之王》多国语言典藏版安装流程

电脑网络
《巫师2刺客之王》多国语言典藏版安装流程

让VB应用程序支持鼠标滚轮

编程语言 网络编程
让VB应用程序支持鼠标滚轮

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Delphi中正常窗口的实现

Delphi中正常窗口的实现

发掘ListBox的潜力(一):自动调整横向滚动条宽度

发掘ListBox的潜力(一):自动调整横向滚动条宽度
下拉加载更多内容 ↓