Самоучитель по Delphi 7 для профессионалов

         

Диалог настройки печати компонента


. Диалог настройки печати компонента 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 — разрешает или запрещает использование диалога настройки параметров принтера.
Во время выполнения любой из перечисленных операций вывода отчета открывается окно состояния процесса (рис. 23.5). Его заголовок определяется свойством
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 делает окно предварительного просмотра модальным.
 

Содержание раздела