mfc中关于多语言资源的使用方法

来源:互联网 发布:qq加人软件免费版 编辑:程序博客网 时间:2024/05/24 07:32
关于多语言资源的使用方法:
1.常用字符串应放在一个头文件中,如Namestr.h
 
#ifndef NAMESTR_H
#define NAMESTR_H
 
#ifdef ENGLISH
#define USEINFO "use info"
#else
#define USEINFO "用户信息"
#endif
 
2.资源文件
方法一:在项目名上右击,选添加新项,新建一个项目。
方法二:拷出原来的资源文件(.rc),重命名后添加。
如建立了如下资源文件:NameEng.rc  NameChs.rc
 
3.使用
a.建立多个解决方案配置。
如:Chinese和Englsih
b.在属性配置页中,选择对应的 解决方案配置
如ENGLISH
 
在C/C++的编译选项中 预处理器定义  加入:ENGLISH
对应为Chinese时,则可以选择加入CHINESE(即不定义ENGLISH)
 
在属性配置页的资源项中选项对应的区域性(其实该设置对最后使用的资源文件没有影响)
 
4.重要的一步
rc.exe是用来编译资源文件的。
命令行格式如下:
rc.exe /l 0x804   /fo"./obj/Chinese/Name.res"  NameChs.rc
 
说明:
/1 0X804:表示选择对应的区域性,Ox804表示中文(中国)
/fo"./obj/Chinese/ipmsg.res":表示编译后的资源目标文件名和保存路径。(该选项在属性页-->资源-->资源文件名中设定)
NameChs.rc:由表示选择编译那一个资源文件。
 
现在要做的就是区分开NameChs.rc(对应Chinese)和NameEng.rc(对应Englsih)
 
在解决方案资源管理器中,可以看到NameChs.rc和NameEng.rc。
在NameChs.rc上右击,会出来一个NameChs.rc的属性页,在配置的下拉框中选择配置ENGLISH,在“常规”-->"从生成中排除"项选为是,这样就将该资源文件从English中排除了。
依上,保证每个解决方案配置只包含对应的资源文件,而将其它的文件排除即可。
 
 
小技巧:这样的方法也适应于不同的cpp文件,这就是为什么从下上下载的源程序包中存在有编译错误的cpp文件,但却可以编译,而自己新建空白项目,将所以现有项(而不是不添加有语法错误的cpp文件)添加到新建的项目中去时,却不能编译的原因所在。
 
原创粉丝点击