//打印代码
var
report: TfrxReport;
begin
try
reportCount:=reportCount+1;
report:=TfrxReport.Create(self);
report.previewOptions.Maximized:=false;
report.previewOptions.Modal := False;
report.Name:=‘frxReport’+inttostr(reportCount); //每次打印是,窗口名不一样
DataModule3.ADOTable1.DisableControls;
reportfrm.frxDBDataset1.DataSet:=DataModule3.ADOTable1;
report.LoadFromFile('aa.fr3');
report.PrepareReport();
report.ShowPreparedReport;
//在此可以自定义打印窗口尺寸及位置
report.PreviewForm.Width:=screen.width-200;
report.PreviewForm.Height:=screen.height-200;
finally
DataModule3.ADOTable1.EnableControls ;
end;
//当关闭当前窗口时, 也关闭打开的报表的窗口
procedure TForm4.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var
count: integer;
begin
for count:=0 to self.ComponentCount -1 do
if copy((self.Components[count].Name ),1,9)=‘frxReport’ then
begin
if TfrxReport(self.Components[count]).PreviewForm<>nil then
TfrxReport(self.Components[count]).PreviewForm.Close;
end;
end;