zt:如何显示中文化的打印设置对话框?

如何显示中文化的打印设置对话框?

      拷贝C:/Rave5/Source目录中的RpFormSetup.pas和RpFormSetup.dfm到对应的项目目录中。

      把RpFormSetup.pas加入到对应的项目文件中,把对应窗体的名字从RPSetupForm更改为SCSetupForm;将文件RpFormSetup.pas另存为SCFormSetup.pas。

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

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

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

procedure TForm1.RvSystem1OverrideSetup(ReportSystem: TRvSystem;
  OverrideMode: TOverrideMode; var OverrideForm: TForm);
begin
    case
    OverrideMode of
    omCreate:
    begin
        OverrideForm := TSCSetupForm.Create(nil);
        //OverrideForm.Caption := RvSystem1.TitleSetup;
        (OverrideForm as TSCSetupForm).ReportSystem := ReportSystem;
    end;
    omShow:
    begin
        with OverrideForm as TSCSetupForm, ReportSystem do
        begin
          PreviewSetup := False;
          Aborted := ShowModal = mrCancel;
        end;
    end;
    omWait:
    begin
     {because showModal: no wait necessary!}
    end;
    omFree:
    begin
        OverrideForm.Free;
    end;
    end;
end;

       编译运行这个项目,其打印设置对话框就会变成中文的了!
       这种方式进行中文化不会受到RAVE版本升级的影响!

 

--------------------------------------------------------------------------------------

参考资料一

How to override the standard setupdialog

Category

Rave - General

Question

  • How can I change the setup-dialogbox in an other look or in an other language, for example german ?


 

Solution

  • In Rave 5 exist a standard setup-form. Many user , especially in "non"-english countries, would localize this dialog.

    Normally the Printsetup Form is displayed when executing the report to allow the user to select the report destination and other settings (copies, file format to use).

    Copy the rpFormSetup.pas- and rpFormSetup.dfm-file in the project folder and change the filenames and the unit-name inside the pas-file and the form-name. for example in dtFormSetup (dt is the abbreviation of "deutsch"- german).

    Sample Files: rave_dtformsetiup.zip

    Add dtFormSetup to the uses statement in the project. Make visual changes and localization to the form and save it.

    Connect the RvSystem component with the RvProject component.
    Select the RvSystem component and create the OverrideSetup event and enter the following code:

    procedure TForm1.RvSystem1OverrideSetup(ReportSystem: TRvSystem; OverrideMode: TOverrideMode; var OverrideForm: TForm); begin case OverrideMode of omCreate: begin OverrideForm := TdtSetupForm.Create(nil); OverrideForm.Caption := RvSystem1.TitleSetup; (OverrideForm as TdtSetupForm).ReportSystem := ReportSystem; end; omShow: begin with OverrideForm as TdtSetupForm, ReportSystem do begin PreviewSetup := False; Aborted := ShowModal = mrCancel; end; end; omWait: begin {because showModal: no wait necessary!) end; omFree: begin OverrideForm.Free; end; end; end; 


    Compile and run any of the reports, your special Setup Form should be displayed when you execute a rave-report.
    -> this way doesn't override your setupform on a rave-update, too.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值