码迷,mamicode.com
首页 > 其他好文 > 详细

RM报表预览窗口的建立过程

时间:2016-04-23 19:53:45      阅读:490      评论:0      收藏:0      [点我收藏+]

标签:

procedure TRMReport.ShowPreparedReport;
var
  s: string;
  lPreviewForm: TRMPreviewForm;
begin
  RMCurReport := Self;
  Flag_PrintBackGroundPicture := True;
  if (not FThreadPrepareReport) and (EndPages.Count = 0) then Exit;

  FCurrentBand := nil;
  FCurrentPage := nil;
  FMasterReport := Self;
  FDocMode := rmdmPreviewing;
  s := RMLoadStr(SPreview);
  if ReportInfo.Title <> ‘‘ then
    s := s +  -  + ReportInfo.Title
  else if FileName <> ‘‘ then
    s := s +  -  + ExtractFileName(FileName)
  else
    s := s +  -  + RMLoadStr(SUntitled);

  if Assigned(Preview) then
  begin
    FCurPreview := Preview;
    Preview.ShowReport(Self);
  end
  else
  begin
    if csDesigning in ComponentState then
      lPreviewForm := TRMPreviewForm.Create(nil)
    else
      lPreviewForm := TRMPreviewForm.Create(Self);

    lPreviewForm.Viewer.OnSaveReportEvent := FOnPreviewSaveEvent;
    FCurPreview := lPreviewForm.Viewer;
    lPreviewForm.Viewer.Options.Assign(FPreviewOptions);
    THackPreview(lPreviewForm.Viewer).OnAfterPageSetup := OnAfterPreviewPageSetup;
    lPreviewForm.Viewer.InitialDir := FPreviewInitialDir;
    lPreviewForm.Viewer.FreeNotification(Self);
    if MDIPreview then
    begin
      lPreviewForm.WindowState := wsNormal;
      lPreviewForm.FormStyle := fsMDIChild;
    end;

    lPreviewForm.Caption := s;
    lPreviewForm.Execute(Self);
    Application.ProcessMessages;
  end;
end;

procedure TRMPreviewForm.Execute(aDoc: Pointer);
begin
  FDoc := aDoc;
  FViewer.FPrepareReportFlag := False;
  FViewer.ShowToolbar := True;
  FViewer.Connect(aDoc);

  if (FViewer.Dock971 <> nil) and (FViewer.FReport <> nil) then
    FViewer.Dock971.ShowHint := THackReport(FViewer.FReport).ShowPreviewHint;

  FSaveOpenDialogDir := FViewer.InitialDir;
  FSaveSaveDialogDir := FViewer.InitialDir;
  if TRMReport(ADoc).ModalPreview and (not TRMReport(ADoc).MDIPreview) then
    ShowModal//
  else
    Show;
end;

 

RM报表预览窗口的建立过程

标签:

原文地址:http://www.cnblogs.com/CodeGear/p/5425219.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!