网上文摘 小说 Flash游戏 最近更新 下载排行 资源分类 下载指南
经典编程资源 精彩不容错过
设为首页
加入收藏
联系我们
当前位置:Delphi园地技巧文章控件使用 → 如何显示中文化的打印预览对话框
如何显示中文化的打印预览对话框
日期:2004年12月10日 作者:SCYANGYU 人气: 查看:[大字体 中字体 小字体]
拷贝C:\Rave5\Source目录中的RpFormPreview.pas和RpFormPreview.dfm到对应的项
目目录中。

      把RpFormPreview.pas加入到对应的项目文件中,把对应窗体的名字从
RavePreviewForm更改为SCRavePreviewForm;将文件RpFormPreview.pas另存为
SCFormPreview.pas。

      把窗体SCRavePreviewForm中的对应文字从英文更改为中文。

      在主窗体上加上 RvProject和 RvSystem部件,通过设定RvProject.Engine为
RvSystem部件来把两者挂接。   

      设置RvSystem部件的OverridePreview事件过程为以下代码:

procedure TForm1.RvSystem1OverridePreview(ReportSystem: TRvSystem;
  OverrideMode: TOverrideMode; var OverrideForm: TForm);
begin
    Case OverrideMode Of
    omCreate:
    Begin
        OverrideForm := TSCRavePreviewForm.Create(self);
        //OverrideForm.Caption := ReportSystem.TitlePreview;
        OverrideForm.Width := ReportSystem.SystemPreview.FormWidth;
        OverrideForm.Height := ReportSystem.SystemPreview.FormHeight;
        OverrideForm.WindowState := ReportSystem.SystemPreview.FormState;
        (OverrideForm As TSCRavePreviewForm).ReportSystem := ReportSystem;
    End;
    omShow:
    Begin
        ReportSystem.SystemPreview.InitPreview((OverrideForm As
TSCRavePreviewForm).RvRenderPreview);
        If Assigned(ReportSystem.OnPreviewSetup) Then
        Begin
          ReportSystem.OnPreviewSetup((OverrideForm As
TSCRavePreviewForm).RvRenderPreview);
        End; { if }
        (OverrideForm As TSCRavePreviewForm).InputFileName :=
ReportSystem.SystemFiler.Filename;
        (OverrideForm As TSCRavePreviewForm).InputStream :=
ReportSystem.SystemFiler.Stream;
        (OverrideForm As TSCRavePreviewForm).InitFromRPSystem;
        (* *)
        If soPreviewModal In ReportSystem.SystemOptions Then
        Begin
            OverrideForm.ShowModal;
        End
        Else
        Begin
            OverrideForm.Show;
        End; { else }
    End;
    omWait:
    Begin
        If Not (soPreviewModal In ReportSystem.SystemOptions) Then
        Begin
            // Wait for close
            Repeat
                 Sleep(250);
                 Application.ProcessMessages;
            Until Not OverrideForm.Visible;
        End; { if }
    End;
    omFree:
    Begin
        If (ReportSystem.SystemFiler.StreamMode In [smTempFile, smFile]) Then
        Begin
            (OverrideForm As TSCRavePreviewForm).RvRenderPreview.NDRStream.Free;
            (OverrideForm As TSCRavePreviewForm).RvRenderPreview.NDRStream :=
Nil;
        End; { if }
        FreeAndNil(OverrideForm);
    End;
    End; { case }
end;

       编译运行这个项目,其打印预览窗口就会变成中文的了!
     备注:这种方式进行中文化不会受到RAVE版本升级的影响!

(出处:www)

相关文章:
·Rave Reports初步入门
·Rave结构
·Rave Reports概述
·Rave Reports初步入门
·Rave报表介绍之二: 可视报表设计器
·Rave结构
·RAVE中Band的BandStyle属性设定方法
·RAVE中TRvCustomConnection组件介绍
·RAVE中Rendering组件介绍
·RAVE中TRvNDRWriter组件介绍
 → 特别推荐
 → 热点TOP10
关于我们 | 广告服务 | 发布资源 | 联系站长 Copyright © 2002-2006 Delphi园地 All Rights Reserved