利用windows的资源文件啊,程序开始就先检查系统的语言类型,加载相应的资源ID. 比如你的资源文件中有如下内容: ID号 内容 100 这是一个显示内容11111 101 这是一个显示内容222222 102 帮助 103 退出1100 this a View info 11111 1101 this a View info 222222 1102 help 1103 exit 程序中要这样: select case 语言ID case "chian" BaseId=0 case "english" BaseId=1000 .... end select 在显示信息/文字的地方用LoadResString(ResID+baseId) 这样就可以显示不同的语言文字了,要注意各种语言的信息要相对应啊,只是资源ID号相差一个特定的数字,就可以了,哈哈,希望对你有帮助,我就是这样做的,^_^
这是我程序中一个读取文本的模块Public Function LoadResDllString(StringID As Long, Default As String) As String Dim hDLL As Long Dim lpName As String Dim Length As Long ' const the max length Length = 255 lpName = String(Length, 0) hDLL = LoadLibrary(ResourceDLLName)
' if the resourceDLL not exist,then pop error message If hDLL = 0 Then LoadResDllString = Default Exit Function Else LoadString hDLL, StringID, lpName, Length lpName = Left(lpName, InStr(lpName, Chr(0)) - 1) LoadResDllString = lpName End If FreeLibrary hDLL End Function
比如你的资源文件中有如下内容:
ID号 内容
100 这是一个显示内容11111
101 这是一个显示内容222222
102 帮助
103 退出1100 this a View info 11111
1101 this a View info 222222
1102 help
1103 exit
程序中要这样:
select case 语言ID
case "chian" BaseId=0
case "english" BaseId=1000
....
end select
在显示信息/文字的地方用LoadResString(ResID+baseId)
这样就可以显示不同的语言文字了,要注意各种语言的信息要相对应啊,只是资源ID号相差一个特定的数字,就可以了,哈哈,希望对你有帮助,我就是这样做的,^_^
Dim hDLL As Long
Dim lpName As String
Dim Length As Long
' const the max length
Length = 255
lpName = String(Length, 0)
hDLL = LoadLibrary(ResourceDLLName)
' if the resourceDLL not exist,then pop error message
If hDLL = 0 Then
LoadResDllString = Default
Exit Function
Else
LoadString hDLL, StringID, lpName, Length
lpName = Left(lpName, InStr(lpName, Chr(0)) - 1)
LoadResDllString = lpName
End If
FreeLibrary hDLL
End Function
现在结贴,再加30分,请没有拿到分的兄弟到 http://expert.csdn.net/Expert/topic/2176/2176413.xml?temp=.5733148 接分。
最后再次感谢大家的帮助。^_^
下载 http://www.1bitsoft.com/downloads/mlxdemo1_1.zip
可以与作者[email protected]联系 QQ 12821922
正在征集测试用户,你可以得到一份正版的许可