首页 > 其他 > 详细

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

时间:2016-04-23 19:53:13      阅读:259      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!