如果你使用messagedlg(对showmessage也适用)可以汉化定义按钮caption的常量,具体操作步骤如下:

1.   打开文件consts.pas(在Delphi安装目录的/source/vcl下)

 
   
 2.   将以下资源字符串常量的值进行改动:    
 
 
      SMsgDlgWarning   =   '警告';  
 
      SMsgDlgError   =   '错误';  
 
      SMsgDlgInformation   =   '信息';  
 
      SMsgDlgConfirm   =   '确认';  
 
      SMsgDlgYes   =   '(&Y)是';  
 
      SMsgDlgNo   =   '(&N)否';  
 
      SMsgDlgOK   =   '确定';  
 
      SMsgDlgCancel   =   '放弃';  
 
      SMsgDlgHelp   =   '(&H)帮助';  
 
      SMsgDlgHelpNone   =   '无效的帮助';  
 
      SMsgDlgHelpHelp   =   '帮助';  
 
      SMsgDlgAbort   =   '(&A)放弃';  
 
      SMsgDlgRetry   =   '(&R)重试';  
 
      SMsgDlgIgnore   =   '(&I)忽略';  
 
      SMsgDlgAll   =   '(&A)全部';  
 
      SMsgDlgNoToAll   =   '(&o)全不';  
 
      SMsgDlgYesToAll   =   '(&A)全是';  
 
 ----   经过这样改动后,对应按钮的热键仍然可以使用。    
 3.打开文件dialogs.pas(在Delphi安装目录的/source/vcl下)  
 
 4.查到ButtonCaptions:  
          把   ButtonCaptions:   array[TMsgDlgBtn]   of   Pointer   =   (  
          @SMsgDlgYes,   @SMsgDlgNo,   @SMsgDlgOK,   @SMsgDlgCancel,  
          @SMsgDlgAbort,@SMsgDlgRetry,   @SMsgDlgIgnore,   @SMsgDlgAll,    
          @SMsgDlgNoToAll,   @SMsgDlgYesToAll,     @SMsgDlgHelp);  
      改为  
          ButtonCaptions:   array[TMsgDlgBtn]   of   string   =   (  
          '是',   '否',   '确定',   '取消',   '退出','重试',   '跳过',    
          '所有',   '全不',   'YesToAll',   '帮助');  
      把   LoadResString(ButtonCaptions[B])   改为ButtonCaptions[B]  
 (注意共有二处,因为上面已经将指针类型改为String,所以这里直接用ButtonCaptions[B] ) 
    5.   修改后编译生成dialog.dcu、consts.dcu文件。(如何编译请参照本博客delphi技巧13)  
   6.           将dialog.dcu、consts.dcu文件拷贝到../delphi6/lib目录下。

在Delphi下,如何使ShowMessage中的按钮中文化的更多相关文章

  1. Delphi下如何使程序在Win7/Vista上用管理员权限运行(转)

    Delphi程序必须在资源里面嵌入MANIFEST信息 一 首先编辑一个文件,内容如下: <?xml version="1.0" encoding="UTF-8&q ...

  2. DELPHI下的SOCK编程(转)

    DELPHI下的SOCK编程      本文是写给公司新来的程序员的,算是一点培训的教材.本文不会涉及太多的编程细节,只是简单讲解在DELPHI下进行Winsock编程最好了解的知识. 题外话:我认为 ...

  3. DELPHI下的SOCK编程

     DELPHI下的SOCK编程(转自http://www.cnblogs.com/devcjq/articles/2325600.html) 本文是写给公司新来的程序员的,算是一点培训的教材.本文不会 ...

  4. 深入Delphi下的DLL编程

    深入Delphi下的DLL编程 作者:岑心 引 言 相信有些计算机知识的朋友都应该听说过“DLL”.尤其是那些使用过windows操作系统的人,都应该有过多次重装系统的“悲惨”经历——无论再怎样小心, ...

  5. 扩展 delphi 泛型 以实现类似lambda功能 , C#中的any count first last 等扩展方法

    扩展 delphi 泛型 以实现类似lambda功能 , C#中的any count first last 等扩展方法 在C#中对泛型的扩展,输入参数是泛型本身的内容,返回值则是bool.基于这一点, ...

  6. DELPHI下API简述(1800个API)

    DELPHI下API简述 http://zero.cnbct.org/show.asp?id=144 auxGetDevCaps API 获取附属设备容量 auxGetNumDevs API 返回附属 ...

  7. Delphi下的RTTI函数大全

    http://ljz9425.blog.163.com/blog/static/369148572008111635253858/ Delphi下的RTTI(下) 2008-12-16 15:52:5 ...

  8. 在Delphi下使用迅雷APlayer组件进行免注册开发

    之前都是用的delphi下的dspack进行的视频开发,这个组件其实很好用,就是找解码器麻烦点,而且还得在客户的计算机上使用RegSvr32.exe也注册解码器,要不有可能播放不了. 结果在查找合适的 ...

  9. Delphi下利用WinIo模拟鼠标键盘详解 有参考价值

    https://blog.csdn.net/fgrass_163/article/details/6365296 Delphi下利用WinIo模拟鼠标键盘详解 2011年04月26日 21:03:00 ...

随机推荐

  1. qmf

    vim命令 ——————————正文开始—————————— Vim是一款简单而强大的文本编辑器,它能以简单的方式完成复杂的操作. 学习 vim 首先了解它的几种模式: 下图提供了三种模式下的切换: ...

  2. Marvelous Mazes

    F - Marvelous Mazes Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submi ...

  3. System call in linux by C

    1: #include <stdlib.h> 2: int system(const char *command); 3:  4: while (something) { 5: int r ...

  4. TYVJ P1062 合并傻子 Label:环状dp

    背景 从前有一堆傻子,钟某人要合并他们~但是,合并傻子是要掉RP的...... 描述 在一个园形操场的四周站着N个傻子,现要将傻子有次序地合并成一堆.规定每次只能选相邻的2个傻子合并成新的一个傻子,并 ...

  5. TYVJ P1069 cowtour 看不懂题意

    描述 农民John的农场里有很多牧区.有的路径连接一些特定的牧区.一片所有连通的牧区称为一个牧场.但是就目前而言,你能看到至少有两个牧区通过任何路径都不连通.这样,农民John就有多个牧场了. Joh ...

  6. TYVJ P1031 热浪 Label:dijkstra 最短路

    背景 USACO OCT09 9TH 描述 德克萨斯纯朴的民眾们这个夏天正在遭受巨大的热浪!!!他们的德克萨斯长角牛吃起来不错,可是他们并不是很擅长生產富含奶油的乳製品.Farmer John此时以先 ...

  7. Ruby Hash与ActiveSupport’s HashWithIndifferentAccess对于key的区别

    Ruby Hash的key定义的时候是支持symbol或者string的,所以访问的时候只能是symbol或者string其中一种方式. 建议使用symbol定义Hash的key,因为symbol在R ...

  8. c++ map 的使用

    1.map是一类关联式容器,它是模板类. 关联的本质在于元素的值与某个特定的键相关联,而并非通过元素在数组中的位置类获取.它的特点是增加和删除节点对迭代器的影响很小,除了操作节点,对其他的节点都没有什 ...

  9. jquery-mobile表单提交问题

    关于使用jquery-mobile表单提交遇到的问题     当你使用了jquery-mobile的时候,如果你在前台提交一个了一个form表单,而在后台你处理完业务逻辑之后想要重定向到另一个方法或页 ...

  10. hdu Oil Deposits

    因为这道题中给的数据比较小,所以可以直接用枚举的方式进行dfs搜索,每出现一个‘@’,就进行一次dfs的搜索,将所有相邻的‘@’全部变成‘*’. #include"iostream" ...