Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Автоматическое показание диалога печати в FastReport после предварительного просмотра в Delphi

Delphi , Базы данных , Отчеты

При разработке десктопного приложения базы данных с использованием Delphi часто возникает потребность в выводе отчета на печать. Одним из популярных инструментов для создания отчетов в Delphi является FastReport. В этой статье мы рассмотрим, как автоматически показать диалог печати в FastReport после предварительного просмотра отчета в Delphi.

Проблема

Разработчик столкнулся с необходимостью показать диалог печати в FastReport после предварительного просмотра отчета в Delphi. Он знает, что можно использовать метод ShowReport для отображения предварительного просмотра отчета, но не знает, как автоматически показать диалог печати после этого.

Решение

Для показа диалога печати в FastReport можно просто вызвать метод Print с параметром ShowDialog, равным True. По умолчанию форма предварительного просмотра отображается модально, поэтому самым простым решением будет изменить это поведение и вызвать метод Print:

InvoiceReport.PreviewOptions.Modal := False;
InvoiceReport.PrintOptions.ShowDialog := True;
InvoiceReport.ShowReport;
InvoiceReport.Print;

Если необходимо сохранить модальное отображение формы предварительного просмотра, можно обработать событие OnPreview и вызвать метод Print, но при этом нужно отложить выполнение процедуры. Например:

const
  UM_PRINT_DIALOG = WM_USER + 1;

...

procedure ShowPrintDialog(var Message: TMessage); message UM_PRINT_DIALOG;

...

procedure TForm1.Button1Click(Sender: TObject);
begin
  InvoiceReport.ShowReport;
  // если нужно показать отчет после полной отрисовки, используйте:
  // InvoiceReport.PrepareReport;
  // InvoiceReport.ShowPreparedReport;
end;

procedure TForm1.InvoiceReportPreview(Sender: TObject);
begin
  PostMessage(Handle, UM_PRINT_DIALOG, 0, 0);
end;

procedure TForm1.ShowPrintDialog(var Message: TMessage);
begin
  InvoiceReport.PrintOptions.ShowDialog := True;
  InvoiceReport.Print;
end;

Вывод

В данной статье мы рассмотрели, как автоматически показать диалог печати в FastReport после предварительного просмотра отчета в Delphi. Мы предложили два решения: первое заключается в изменении режима отображения формы предварительного просмотра и вызове метода Print, а второе - в обработке события OnPreview и отложенном вызове метода Print. Выбор подхода зависит от конкретных требований к работе с отчетами в приложении.

Создано по материалам из источника по ссылке.

Статья описывает, как автоматически показать диалог печати в FastReport после предварительного просмотра отчета в Delphi.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Отчеты ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-01-29 09:03:49/0.024991035461426/1