游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1073|回复: 0

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

[复制链接]

1367

主题

1993

帖子

2118

积分

金牌会员

Rank: 6Rank: 6

积分
2118
发表于 2007-5-31 20:33:00 | 显示全部楼层 |阅读模式
                              一、开发中英(简、繁)双版本
现在比较流行的软件都会有中文版、英文版、繁体版等等多个版本,并可以根据系统的语言自动显示相适应的版本,那么这个功能在
                              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 资源编辑器窗口中,点击“编辑字符串表格”输入如下资料:
                                标识号 中文(中国)
                                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


                                ⑷按 F5 运行本程序,点击 Command 按钮,就可以听到你选定的 WAV 文件的声音了。

                              三、 直接调用各类图标、光标图片

                                在一个程序中,我们可能需要调用多个图标、光标、图片文件,一般来说我们主要是使用
                              ImageList 控件,不过其时使用资源文件是最好的方法(可以少使用一个控件呀)。
                                ⑴启动 VB6.0,在“外接程序→外接程序管理器”中加载“Visual Basic 6
                              资源编辑器”

                                ⑵在 VB 资源编辑器窗口中,点击“添加光标”,“添加图标”,“添加位图”,装载所需要的文件。

                                ⑶程序代码如下:

                              Me.Icon = LoadResPicture(101, vbResIcon) 注释:加载图标
                              Picture1.Picture = LoadResPicture(101,
                              vbResBitmap) 注释:加载位图
                              Command1.MouseIcon = LoadResPicture(101,
                              vbResCursor) 注释:加载光标
                         发布人:czvd
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-26 06:57

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表