CSDN博客

img foreveryday007

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

发表于2004/7/14 16:04:00  1456人阅读

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

      拷贝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.
0 0

相关博文

我的热门文章

img
取 消
img