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