Delphi7(delphi6)如何让showmessage和messagedlg对话框(按钮等)中文化?

12:如何让showmessage和messagedlg按钮中文? 

这个内容,比较长,所以独立出来,不放在delphi技巧中。 
   阿佛提示:最便捷的方法是建议你使用messagebox代替。
  如果你用 showmessage(), 不用修改源程序,也能达到将文字改为汉字的效果。  
 
你可以这样:  
  1
。编译程序,关闭程序,选择 Project|Languages|Add..  
  2.
一步一步,直到出现 Translation   Manager 窗口  
  3
。展开左边窗口树控件定位到 Resource   Scripts ,修改右边窗口内容  
  4
。找到 ID 号为 consts_SMsgDlgOk 的内容将 ’OK‘ 改为 确定 保存结果关闭窗口  
  5
File|Save   all  
  6.
重新编译, OK !(此方法,摘自csdn,留给有兴趣的朋友验证)  
---------------------------------------------------------------------------------------------------------------------------------------------
 如果你使用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)