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
Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved. 闵涛 E_mail:admin@mintao.net(欢迎提供学习资源)
鄂公网安备 42011102001154号
站长:MinTao ICP备案号:鄂ICP备11006601号-18