使用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.
这篇文章就到这里吧。 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论