Delphi ShowMessage 中OK按钮的汉化,简单方法
2012-08-14 17:36 Sun.M 阅读(1468) 评论(0) 编辑 收藏 举报使用Delphi的ShowMessage,显示出来的按钮总是英文,一般情况下,这倒是没什么,我们可以用Windows API中的MessageBox来代替它。只是,如果你使用的Delphi XE,并且使用了它非常酷的皮肤功能,你会发现,ShowMessage的对话框使用了皮肤,而Windows API中的MessageBox却没有使用皮肤外观,所以,这个汉化有时候还是有点用处的,避免了我们再次造轮子的事情发生。
下面是汉化的步骤,非常简单(Delphi 2010,其它版本可以以此参考):
1、File –> New –> Other :
2、选择如上图的类型,双击或点击OK,然后选择如下图:
3、这样我们的项目文件列表里就多出了这样一个文件:
我们打开它编写如下的内容:
STRINGTABLE LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL { 65271, "确定(&O)" 65272, "取消(&C)" 65343, "确定(&O)" }
4、保存、编译,运行,看看我们的ShowMessage的那个按钮,是不是汉化了啊?:
是不是很简单呢?原理也是很简单,我们通过自己定义的字符串资源,替换了Delphi默认的字符串资源,如果你有一些PE资源查看工具的话,你就可以很清除的看到我们替换了一些内容,如下(我使用的是ResHacker):
如果你没有成功的话,看一看你的Project源文件中是否有这样一行,如果没有的话,手动添加一下:
program Project2; //这一行很重要 {$R 'CHS.res' 'CHS.rc'} uses Forms, Unit1 in 'Unit1.pas' {Form1}; {$R *.res} begin Application.Initialize; Application.MainFormOnTaskbar := True; Application.CreateForm(TForm1, Form1); Application.Run; end.
这篇文章就到这里吧。
作者:Sun.M
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.