资源文件使用问题,请大家帮忙。
老码猿 2006-02-08 02:28:56 在我们的程序中使用资源文件来组织错误消息等文本信息,例如向工程中添加errormsg.rc
文件内容如下:
STRINGTABLE
BEGIN
1,"消息1"
END
工程编译后,errormsg.rc的内容将被连接到可执行程序例如test.exe中。
在应用程序中我们可以使用AnsiSting的LoadString方法或是Windows Platform SDK 来读取字符串。
AnsiString s;
s.LoadString(NULL,1);
或者:
char buffer[100];
memset(buffer,0,100);
LoadString(NULL,1,buffer,100);
当我们使用C++ Builder中的 Translation Manager对工程添加了一个英文语言时,工程中的所有资源(包括errormsg.rc)
都将被编译成一个英文版本的test.ENU放置在test.exe相同的目录下。
当我们配置应用程序使用英文版资源时上面的代码不能取得英文版本的资源字符串,还是中文版的。
从CB或Platform SDK 文档中知道,AnsiString::LoadString 或LoadString方法的第一个参数是包含字符串资源的模块的Handle,
用NULL传入的时候时候使用应用程序本身的Handle,在这种情况怎样才能获得例如test.ENU的Handle呢,或是有其他什么方法?