Не отображается кнопочная панель на Frxpreview

отредактировано 22:23 Раздел: FastReport 4.0
Обстановка:
Delphi 2007 + FastReports 4.7.1

Задача:
Сделать отображение предварительного просмотра не в отдельном окне, а на закладке PageControl'a

Как делаю:
Создаю форму с TfrxPreview, указываю ей закладку PageControl'a как Parent'a, указываю отчёту использовать превью с новосозданной формы и делаю ему ShowReport();

Всё работает, но не отображается кнопочная панель с кнопками экспорта, печати и т.д.
Пробую просто выводить отчёт - панель есть.

В чём может быть проблема?

Комментарии

  • отредактировано 22:23
    И не должна. На то это и TfrxPreview - что бы вы могли создавать свои кнопки.
  • отредактировано 22:23
    написал: »
    И не должна. На то это и TfrxPreview - что бы вы могли создавать свои кнопки.
    В другом проекте (MDI) отображается с кнопочной панелью.
  • отредактировано 22:23
    Вот аналогичный проект на Delphi 7 + FastReports 4.6.1
    Приложение MDI. Отчёт выводиться на отдельной форме и с панелькой.
  • отредактировано 22:23
    не путайте компонент TfrxPreview и стандартное превью в MDI режиме.
  • отредактировано 22:23
    Я сделал отдельную форму и на на нее вывел стандартное превью. Получилось в нужном окне и с кнопками :)
    Еще и достучаться удалось до основной формы и отключить ненужные кнопки.


    В коде есть лишнее, но думаю разберешься.
    procedure ShowFloatReportForm(AReport: TfrxReport; AParent: TWinControl = nil);
    var
      AStream: TMemoryStream;
      FRM: TSPFastReportFrame;
    begin
      Frm := TSPFastReportFrame.Create(Application);
      try
        Frm.Parent := MainForm.pnlApplets;
        ARDFrameList.Add(Frm);
        AStream := TMemoryStream.Create;
        try
          AReport.PreviewPages.SaveToStream(AStream); //AReport.EMFPages.SaveToStream(AStream);
          AStream.Position := 0;
          Frm.frRealReport.PreviewPages.LoadFromStream(AStream);//Frm.frRealReport.EMFPages.LoadFromStream(AStream);
    
          Frm.frRealReport.ReportOptions.Name :=  AReport.ReportOptions.Name; //Frm.frRealReport.caTitle := AReport.Title;
          Frm.frRealReport.ShowPreparedReport;
          Frm.frRealReport.PreviewForm.Parent := Frm.pnlFrame;
          Frm.frRealReport.PreviewForm.BorderStyle := bsNone;
          Frm.frRealReport.PreviewForm.Align := alClient;
          TfrxPreviewForm(Frm.frRealReport.PreviewForm).CancelB.Visible := false;
          TfrxPreviewForm(Frm.frRealReport.PreviewForm).PopupMenu.Items[1].Visible := false;
          TfrxPreviewForm(Frm.frRealReport.PreviewForm).PopupMenu.Items[0].Visible := false;
          TfrxPreviewForm(Frm.frRealReport.PreviewForm).PopupMenu.OwnerDraw := true;
          TfrxPreviewForm(Frm.frRealReport.PreviewForm).PopupMenu.ParentBiDiMode := true;
    
          Frm.Caption := Frm.frRealReport.ReportOptions.Name;
          MainForm.AddReportToPPM(Frm);
        finally
          AStream.Free;
        end;
        Frm.MakeFloatClone;
        Frm.Show;
        Frm.SetFocus;
      except
        MainForm.DelReportFromPPM(Frm);
        Frm.Free;
        raise;
      end;
    end;
    
  • отредактировано 22:23
    Zoran написал: »
    Я сделал отдельную форму и на на нее вывел стандартное превью. Получилось в нужном окне и с кнопками :)
    Большое спасибо!!!
    Всё заработало, ура! =)
  • bn1978bn1978 Zhitomir
    отредактировано 22:23
    Можешь попробовать эту вещь:
    TfrxBNPreviewToolBar

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.