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

2018-06-17 17:14:32来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

以前做过一个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)

    IfN>0Then

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

    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

->

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:巧用CLIPBOARD建立图像数据库

下一篇:Modem通讯意外处理