一、開發中英(簡、繁)雙版本
現在比較流行的軟體都會有中文版、英文版、繁體版等等多個版本,並可以根據系統的語言自動顯示相適應的版本,那麼這個功能在 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) 注釋:加載游標
文章定位: