您的位置:首页 > 其它

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

2004-07-14 16:04 567 查看
如何显示中文化的打印设置对话框?
拷贝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.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: