汉化 Delphi6.0 的报表预览器

原创 2003年10月21日 00:07:00

    Delphi 语言以其高效、简单和强大的功能受到广大程序员的推崇。但是,直到最近推出的6.0版,由于它们都是英文版,所以用 Delphi开发数据库应用程序时,其报表预览控件在界面上显示的提示信息全都是英文字符,这对于开发中文界面的程序,显得很不协调。
    笔者经过分析发现,Delphi6.0 在进行报表预览时,调用了窗体文件 Qrprev.dfm,该文件位于 /Program Files/Borland/Delphi6/Lib文件夹下。报表预览器上的工具条、按钮等控件全部在该文件中定义!找到了问题的关键所在,解决起来就比较简单了。用 Delphi6.0 打开Qrprev.dfm 文件,会发现其中定义了一个 TQRStandardPreview 对象类,在该类下,又定义了状态条(TStatusBar)、工具条(TToolBar)、预览窗体(TQRPreview)和图形列表(TImageList)四个类。我们就是要对工具条上按钮的 Caption、Hint和状态条上的Panels 的英文提示进行汉化。
    文后所附程序清单标明了笔者所做的修改,其中语句前标有一个 * 号的是笔者所做的汉化修改,标有两个 * 号的是笔者为了支持中文字体和美化界面而加的语句。程序中不能加注 // 和 {} 注释语句(当然也不能保留语句前的 * 号)。如果你愿意,还可以给工具条上再定义一些按钮,甚至添加一幅图片。
    当然了,应用这种方法,您还可以对 Delphi 的其它系统资源进行汉化,使您编制的软件界面更加友好,更符合中文用户的操作要求。

//Qrprev.dfm 文件的内容:
   object QRStandardPreview: TQRStandardPreview
   Left = 229
   Top = 191
   Width = 652
   Height = 579
*  Caption = '"西安电子科技大学电达科技公司"报表预览器'
   Color = clBtnFace
** Font.Charset = GB2312_CHARSET
** Font.Height = -12
** Font.Name = '宋体'
   ParentFont = True
   KeyPreview = True
   OldCreateOrder = True
   Position = poScreenCenter
   ShowHint = True
   OnClose = FormClose
   OnCreate = FormCreate
   OnKeyDown = FormKeyDown
   OnResize = FormResize
   PixelsPerInch = 96
*  TextHeight = 12
   object StatusBar: TStatusBar
   Left = 0
   Top = 533
   Width = 644
   Height = 19
   Panels = <
   item
   Alignment = taRightJustify
   Text = '0%'
   Width = 40
   end
   item
*  Text = '页'
   Width = 50
   end>
   SimplePanel = False
   end
   object ToolBar1: TToolBar
   Left = 0
   Top = 0
   Width = 644
   AutoSize = True
   BorderWidth = 2
   Flat = True
   Images = Images
   TabOrder = 1
** ShowCaptions = True
   object ToolButton1: TToolButton
   Left = 0
   Top = 0
   Width = 8
   Caption = 'ToolButton1'
   ImageIndex = 12
   Style = tbsDivider
   end
   object ZoomFit: TToolButton
   Left = 8
   Top = 0
** AutoSize = True
*  Hint = '缩 小'
*  Caption = '缩小'
   Grouped = True
   ImageIndex = 0
   Style = tbsCheck
   OnClick = ZoomToFitClick
   end
   object Zoom100: TToolButton
   Left = 31
   Top = 0
** AutoSize = True
*  Hint = '满屏100%显示'
*  Caption = '满屏'
   Grouped = True
   ImageIndex = 1
   Style = tbsCheck
   OnClick = ZoomTo100Click
   end
   object ZoomToWidth: TToolButton
   Left = 54
   Top = 0
** AutoSize = True
*  Hint = '适应屏幕宽度'
*  Caption = '等宽'
   Grouped = True
   ImageIndex = 2
   Style = tbsCheck
   OnClick = ZoomToWidthClick
   end
   object Separator1: TToolButton
   Left = 77
   Top = 0
   Width = 8
   Caption = 'Separator1'
   ImageIndex = 3
   Style = tbsDivider
   end
   object FirstPage: TToolButton
   Left = 85
   Top = 0
** AutoSize = True
*  Hint = '第一页'
*  Caption = '首页'
   ImageIndex = 3
   OnClick = FirstPageClick
   end
   object PreviousPage: TToolButton
   Left = 108
   Top = 0
** AutoSize = True
*  Hint = '上一页'
*  Caption = '前页'
   ImageIndex = 4
   OnClick = PrevPageClick
   end
   object ToolButton2: TToolButton
   Left = 131
   Top = 0
** AutoSize = True
*  Hint = '下一页'
*  Caption = '后页'
   ImageIndex = 5
   OnClick = NextPageClick
   end
   object LastPage: TToolButton
   Left = 154
   Top = 0
** AutoSize = True
*  Hint = '最后一页'
*  Caption = '末页'
   ImageIndex = 6
   OnClick = LastPageClick
   end
   object Separator2: TToolButton
   Left = 177
   Top = 0
   Width = 8
   Caption = 'Separator2'
   ImageIndex = 7
   Style = tbsDivider
   end
   object PrintSetup: TToolButton
   Left = 185
   Top = 0
** AutoSize = True
*  Hint = '打印机设置'
*  Caption = '设置'
   Enabled = False
   ImageIndex = 7
   OnClick = PrintSetupClick
   end
   object Print: TToolButton
   Left = 208
   Top = 0
** AutoSize= True
*  Hint = '打印'
*  Caption = '打印'
   Enabled = False
   ImageIndex = 8
   OnClick = PrintClick
   end
   object Separator3: TToolButton
   Left = 231
   Top = 0
   Width = 8
   Caption = 'Separator3'
   ImageIndex = 9
   Style = tbsDivider
   end
   object SaveReport: TToolButton
   Left = 239
   Top = 0
** AutoSize = True
*  Hint = '保存到文件'
*  Caption = '保存'
   ImageIndex = 10
   OnClick = SaveClick
   end
   object LoadReport: TToolButton
   Left = 262
   Top = 0
** AutoSize = True
*  Hint = '从文件装载'
*  Caption = '装载'
   ImageIndex = 9
   OnClick = LoadClick
   end
   object Separator4: TToolButton
   Left = 285
   Top = 0
   Width = 8
   Caption = 'Separator4'
   ImageIndex = 11
   Style = tbsDivider
   end
   object ExitButton: TSpeedButton
   Left = 293
   Top = 0
   Width = 50
   Height = 22
   Caption = '关闭'
   OnClick = ExitClick
   end
   end
   object QRPreview: TQRPreview
   Left = 0
   Top = 32
   Width = 622
   Height = 501
   HorzScrollBar.Tracking = True
   VertScrollBar.Tracking = True
   Align = alClient
   TabOrder = 2
   OnPageAvailable = QRPreviewPageAvailable
   OnProgressUpdate = QRPreviewProgressUpdate
   PageNumber = 1
   Zoom = 100
   end
   object Images: TImageList
   Left = 54
   Top = 42
   Bitmap = {494C0101……} // 省略
   end
   end

              张庆 zhangking@263.net QQ:9365822 
                       http://soft.why100000.com

web报表工具FineReport使用中遇到的常见报错及解决办法(三)

这里写点抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己。   出现问题先搜一下文档上有没有,再看看度娘有没有,再看看论坛有没有。有报错要看日志。下面简单罗列下常见的问...
  • yuanziok
  • yuanziok
  • 2015年04月01日 16:23
  • 2339

IReport+jasperReport制作报表并打印

1. 使用IReport制作模板: 子报表的制作 2. java打印方法pdf
  • u014704879
  • u014704879
  • 2015年11月03日 17:53
  • 3620

Birt报表汉化—eclipse

BIRT报表设计器(eclipse)的安装及汉化 2013.05.12暂无评论 一、下载及安装 打开项目地址http://download.eclipse.org/birt/downloads/...
  • zhanqizi
  • zhanqizi
  • 2014年04月15日 11:10
  • 1128

Delphi Preview for Windows 代码预览器

  • 2015年07月06日 21:26
  • 1.46MB
  • 下载

报表打印预览_VC

  • 2006年03月16日 00:00
  • 83KB
  • 下载

报表打印预览_VC

  • 2006年03月16日 00:00
  • 83KB
  • 下载

VFP自制报表预览工具条(纯代码)

  • 2014年04月03日 15:23
  • 14KB
  • 下载

可导出为PDF、EXCEL和支持VS报表直接打印和预览的库

  • 2013年12月11日 14:59
  • 1.12MB
  • 下载

报表预览及打印源码

  • 2003年11月07日 00:00
  • 14KB
  • 下载

狐表自定义报表(设计、模板打开、预览模式)

  • 2014年12月20日 22:16
  • 2.7MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:汉化 Delphi6.0 的报表预览器
举报原因:
原因补充:

(最多只允许输入30个字)