资源文件使用问题,请大家帮忙。

老码猿 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呢,或是有其他什么方法?
...全文
110 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
老码猿 2006-02-09
  • 打赏
  • 举报
回复
自己顶一个,请大家帮忙。

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧