• Delphi ShowMessage 中OK按钮的汉化,简单方法


    使用Delphi的ShowMessage,显示出来的按钮总是英文,一般情况下,这倒是没什么,我们可以用Windows API中的MessageBox来代替它。只是,如果你使用的Delphi XE,并且使用了它非常酷的皮肤功能,你会发现,ShowMessage的对话框使用了皮肤,而Windows API中的MessageBox却没有使用皮肤外观,所以,这个汉化有时候还是有点用处的,避免了我们再次造轮子的事情发生。

    下面是汉化的步骤,非常简单(Delphi 2010,其它版本可以以此参考):

    1、File –> New –> Other :

    image

    2、选择如上图的类型,双击或点击OK,然后选择如下图:

    image

    3、这样我们的项目文件列表里就多出了这样一个文件:

    image

    我们打开它编写如下的内容:

    STRINGTABLE
    LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
    {
    65271, 	"确定(&O)"
    65272, 	"取消(&C)"
    65343, 	"确定(&O)"
    }

    4、保存、编译,运行,看看我们的ShowMessage的那个按钮,是不是汉化了啊?:

    image

    是不是很简单呢?原理也是很简单,我们通过自己定义的字符串资源,替换了Delphi默认的字符串资源,如果你有一些PE资源查看工具的话,你就可以很清除的看到我们替换了一些内容,如下(我使用的是ResHacker):

    image

    如果你没有成功的话,看一看你的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
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    JavaScript 闭包+封装+异步同步区别
    CSS基础(三)盒子模型
    CSS基础(二)浮动
    CSS基础(一)
    HTML基础(二)
    JAVA 微信开发
    MAVEN学习总结1
    Java开发中的23种设计模式详解(转)
    navicat for mysql 10.1.7注册码
    jQuery.Validate验证库
  • 原文地址:https://www.cnblogs.com/prinsun/p/2638413.html
Copyright © 2020-2023  润新知