Диалог настройки печати компонента
. Диалог настройки печати компонента TRvSystem Его заголовок определяется свойством property TitleSetup: TFormatString;
Перед открытием этого окна вызывается метод-обработчик
property OnPreviewSetup: TNotifyEvent;
Кроме этого, для диалога настройки печати можно задать ряд дополнительных параметров. Это делается в свойстве
type
TSystemSetup = (ssAllowSetup, ssAllowCopies, ssAllowCollate,
ssAllowDuplex, ssAllowDestPreview, ssAllowDestPrinter, ssAllowDestFile,
ssAllowPrinterSetup);
TSystemSetups = set of TSystemSetup;
property SystemSetups: TSystemSetups;
Элементы множества TSystemSetup означают следующее:
- ssAllowSetup — разрешает или запрещает использование диалога настройки печати компонента;
- ssAllowCopies — управляет доступностью установки числа копий отчета;
- ssAllowCollate — разрешает или запрещает настройку режима печати с разбором страниц по копиям;
- ssAllowDuplex — разрешает или запрещает настройку двусторонней печати;
- ssAllowDestPreview — разрешает или запрещает использование окна предварительного просмотра;
- ssAiiowDestPrinter — разрешает или запрещает использование принтера;
- ssAllowDestFile — разрешает или запрещает использование файла для вывода отчета;
- ssAiiowPrinterSetup — разрешает или запрещает использование диалога настройки параметров принтера.
property TitleStatus: TFormatString;
Рис. 23.5. Форма состояния процесса вывода отчета компонента TRvSystem
В нем отображается информационная строка состояния, которая может быть настроена при помощи свойств объекта SystemFiler, представленного в компоненте TRvSystem одноименным свойством.
Вложенное свойство
property StatusFormat: string;
определяет строку форматирования для текста о состоянии процесса. Для нее предусмотрены следующие управляющие символы:
- %с — текущее состояние процесса вывода;
- %р — номер текущей страницы;
- %f — номер первой страницы;
- %1 — номер последней страницы;
- %d — название устройства вывода ( название принтера, имя файла, предварительный просмотр);
- %r — имя драйвера устройства вывода;
- %s — общее число страниц;
- %t — порт печати;
- %о-%9 — номера строк для свойства statusText (см. ниже).
property StatusText: TStrings;
позволяет задать до десяти строк (можно задать и больше, но они не будут восприняты строкой статуса) с какой-либо дополнительной информацией, описывающей процесс вывода. Первая строка списка будет выведена при наличии в свойстве statusFormat управляющего символа %0, вторая — при наличии символа %1 и т. д.
При помощи перечисленных свойств вы сможете детально описать процесс вывода отчета. В этом вам помогут методы-обработчики событий компонента TRvSystem.
До начата печати отчета и по его окончании (даже если печать была прервана) соответственно вызывается пара методов-обработчиков:
property OnBeforePrint: TNotifyEvent;
property OnAfterPrint: TNotifyEvent;
В начале печати непосредственно отчета (не заголовка) вызывается метод-обработчик
property OnPrint: TNotifyEvent;
Если вы печатаете одну страницу, будет вызван метод-обработчик
type
TPrintPageEvent = function(Sender: TObject;
var PageNum: Integer): Boolean;
property OnPrintPage: TPrintPageEvent;
Но до начала печати вызывается метод-обработчик
property OnNewPage: TNotifyEvent;
который обозначает генерацию страницы.
При печати колонтитулов в верхней и нижней частях страницы вызываются методы-обработчики
property OnPrintHeader: TNotifyEvent;
property OnPrintFooter: TNotifyEvent;
Разработчик может задать несколько опций для всего компонента TRvSystem, управляя тем самым процессом вывода отчета. Для это используется свойство
type
TSystemOption = (soUseFiler, soWaitForOK, soShowStatus, soAllowPrintFromPreview, soPreviewModal);
TSystemOptions = set of TSystemOption;
property SystemOptions: TSystemOptions;
Элементы типа TSystemOptions обозначают следующее:
- soUseFiler — при установке этой опции в значение True вывод будет направляться в файл, заданный свойством SystemFiler, независимо от других настроек компонента;
- SoWaitForOK — если включить эту опцию, генерация отчета будет задержана до момента, когда пользователь нажмет кнопку ОК в диалоге настройки печати компонента (см. рис. 23.4);
- soshowstatus — эта опция управляет видимостью окна состояния процесса вывода отчета в компоненте;
- soAiiowPrintFromPreview — будучи включенной, эта опция позволяет печатать отчет из окна предварительного просмотра;
- soPreviewModal — при значении True делает окно предварительного просмотра модальным.