为了设计一个多语言的程序,简体/繁体的,我把简体和繁体的资源都放到了一个资源文件里面。假设两个函数f(简体) = 繁体,g(繁体) = 简体。
如果只有一个资源文件,没有任何问题,但是,我的程序是多个工程的。
工程A中,存在A.rc,假设里面有 IDS_AA字符串资源,我在工程B中strOld.LoadString(IDS_AA),我们假定strOld的正确值为strNew,如果在简体操作系统下面,就会发现,strOld实际上是 g(strNew) 也就是说,我对strOld进行一次f运算,才能够得到正确的ids_aa。 相反,如果在繁体操作系统下,strOld.LoadString(IDS_AA)就会得到f(strNew)的值。也就是说,strOld load进来的字符串都是乱码,但是经过一次f或者g运算,才能够得到正确的字符串。
请问,这是为什么?
如果只有一个资源文件,没有任何问题,但是,我的程序是多个工程的。
工程A中,存在A.rc,假设里面有 IDS_AA字符串资源,我在工程B中strOld.LoadString(IDS_AA),我们假定strOld的正确值为strNew,如果在简体操作系统下面,就会发现,strOld实际上是 g(strNew) 也就是说,我对strOld进行一次f运算,才能够得到正确的ids_aa。 相反,如果在繁体操作系统下,strOld.LoadString(IDS_AA)就会得到f(strNew)的值。也就是说,strOld load进来的字符串都是乱码,但是经过一次f或者g运算,才能够得到正确的字符串。
请问,这是为什么?
解决方案 »
- 关于DataGrid 控件实时更新数据
- 读取文件。。。。。。。。。
- 如何画BCG菜单项左边的图?
- FtpFindFirstFile获取文件名不正确,请高手们指教!
- 如何取char数组中的子串?
- 如何获得位图的调色板(在线等,急!)
- 关于动态连接库(.dll)的问题,发布的时候出现了问题
- 大家帮帮忙,帮我翻译一个术语。
- 送分送分:数据转换问题
- 现在我程序一打开文件,可供选择的文件还是*.*,我怎么能让它有多个选择,比如*.rpt、*.pak等,是不是要创建模版呢?在 MAINFRM函数里?能说详细点吗?
- 基于对话框的类产生的messagebox,为什么要按alt键才会显示???
- 骑驴找马中的进来
下载 http://www.1bitsoft.com/downloads/mlxdemo1_1.zip
可以与作者[email protected]联系 QQ 12821922
正在征集测试用户,你可以得到一份正版的许可
资源文件里面记录了语言标识,比如我用的是简体中文,是这样的:
/////////////////////////////////////////////////////////////////////////////
// 中文(中华人民共和国) resources#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
#ifdef _WIN32
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
#pragma code_page(936)
#endif //_WIN32不同的语言这部分内容是不相同的,所以将不同类型的资源放到一个rc文件中会有问题。