VB中资源文件的多种使用技巧

文章作者 100test 发表时间 2007:03:10 18:13:28
来源 100Test.Com百考试题网


一、开发中英(简、繁)双版本
  现在比较流行的软件都会有中文版、英文版、繁体版等等多个版本,并可以根据系统的语言自动显示相适应的版本,那么这个功能在 VB 是如何实现得呢的:
  1、 首先通过 API 函数GetSystemDefaultLCID 判断系统的语言
  Option Explicit
  Dim lang As String
  Private Declare Function GetSystemDefaultLCID Lib "kernel32" () As Long
  Private Sub Form_Load()
  Dim LocaleID As Long
  LocaleID = GetSystemDefaultLCID
  Select Case LocaleID
  Case &.H404
  MsgBox "当前系统为:中文繁体", , "语言"
  Case &.H804
  MsgBox "当前系统为:中文简体", , "语言"
  lang = "1"
  Case &.H409
  MsgBox "当前系统为:英文", , "语言"
  lang = "2"
  End Select
  End Sub
  2、然后程序就可以加载保存在资源文件(这里我们就是使用的这种方法)、注册表、INI 文件、文本文件或其他文件中的各类字符串,以达到达到实现多种语言的目的。
  ⑴启动 VB6.0,在“外接程序→外接程序管理器”中加载“Visual Basic 6 资源编辑器”
  ⑵在 VB 资源编辑器窗口中,点击“编辑字符串表格笔淙肴缦伦柿希?BR>  标识号 中文(中国)
    101 例子
    102 中文
    103 英文
    201 Ensample
    202 Chinese
    203 English
  ⑶保存资源文件,写如下代码:(自定义装载字符的函数 LoadString)
  Sub LoadString()
  Me.Caption = LoadResString(Int(lang &. "01"))
  Command1(0).Caption = LoadResString(Int(lang &. "02"))
  Command1(1).Caption = LoadResString(Int(lang &. "03"))
  End Sub
  ⑷怎么样一个简单的中英双版本的程序就做出来了,如果把 lang 的值设置为 1,则显示中文,如果把 lang 的值设置为 2,则显示英文。
  ps:更简单实用的方法是:把不同语言文字放在同一个标识号ID对应的不同字符串表格中即可。VB 会自动实现多种语言转换!

二、 直接播放EXE文件中的声音文件
  使用资源文件,可以直接在在EXE文件中播放声音文件(WAV文件),使程序显得更加专业。
  ⑴启动 VB6.0,在“外接程序→外接程序管理器”中加载“Visual Basic 6 资源编辑器”
  ⑵在 VB 资源编辑器窗口中,点击“添加自定义资料”,增加任意的 WAV 文件,再双击刚刚创建的自定义资源,弹出”编辑属性”窗口,定义如下:
    类型: "WAVE"
    标识号: 102
    语言: 中文(中国)
  ⑶保存资源文件,写如下代码:
  Option Explicit
  Private Declare Function GetSystemDefaultLCID Lib "kernel32" () As Long
  Private Declare Function sndPlaySoundFromMemory Lib "winmm.dll" Alias "sndPlaySoundA" (lpszSoundName As Any, ByVal uFlags As Long) As Long
  Public Const SND_ASYNC = &.H1&.
  Public Const SND_MEMORY = &.H4&.
  Private Sub Command5_Click() 注释:播放 WAV 文件
  Dim bArr() As Byte
  bArr = LoadResData(102, "WAVE")
  sndPlaySoundFromMemory bArr(0), SND_ASYNC Or SND_MEMORY
  End Sub

相关文章


全国计算机等级考试二级VFP模拟试题16
整理2006.4.1二级vb考试资料的结论(1)
VB中资源文件的多种使用技巧
全国计算机等级考试二级VFP模拟试题15答案
关于VB语言和怎样学习VB语言
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛