|
|
---|
    Этот объект используется в сочетании с объектом TPrinter для печати информации на принтере. Данный объектный тип является абстрактным. Это означает, что сам по себе он не может использоваться для печати каких-либо данных. Должны создаваться наследники TPrinter, а метод PrintPage должен переопределяться для печати нужных данных.
    В случае значения True распечатка выводится с использование
разбиения на полосы, и для каждой полосы вызывается метод
PrintPage. В противном случае метод PrintPage вызывается
однократно для каждой страницы. Разбиение распечатки на полосы более
эффективно по времени и затратам памяти, чем его отсутствие. По
умолчанию это поле имеет значение False.
    DC - это описатель используемого для печати контекста
устройства.
    Многие драйверы устройств не предусматривают многополосной
печати на принтере, если и текст, и графика не выполняются с
использованием первой полосы (обычно это только текстовая полоса).
Если оставить в этом поле значение True, это вынудит драйвер
принтера использовать все полосы, независимо от того, какие
вызовы выполняются в методе PrintPage. Если PrintPage ничего не
делает кроме вывода текста, то эффективнее установить это поле в
False. По умолчанию оно равно True. Данное поле действует только
в том случае, если Banding равно True.
    Size представляет размер области печати на странице
распечатки.
    Текущий заголовок, используемый для распечатки. По умолчанию
этот заголовок выводится в диалоговом блоке прерывания печати и в
качестве имени задания печати в администраторе печати.
    Ниже описываются методы, определенные в данном объекте.
    Строит экземпляр TPrintOut с заданным заголовком.
    Уничтожает ресурс, выделенный конструктором Init.
    Метод Print объекта печати вызывает BeginDocument один раз
перед печатью каждой копии документа. Поле Flag содержит
pf_Banding или pf_Selection и указывает, будет ли использоваться
разбиение на полосы или печать выделенного текста.
    Используемый по умолчанию метод BeginDocument ничего не
делает. Наследующие объекты могут переопределять его для выполнения
в начале каждой копии документа необходимой инициализации.
    Независимо от того, сколько копий документа будет печататься,
метод Print объекта печати вызывает BeginPrinting один раз в
начале печати задания.
    Используемый по умолчанию метод BeginPrinting ничего не
делает. Наследующие объекты могут переопределять его для выполнения
необходимой перед печатью инициализации.
    Метод Print объекта печати вызывает EndDocument после
завершения печати каждой копии документа.
    Используемый по умолчанию метод EndDocument ничего не делает.
Наследующие объекты могут переопределять его для выполнения
необходимых действий в конце печати каждого документа.
    Метод Print объекта печати вызывает BeginPrinting в конце
печати всех копий документа.
    Используемый по умолчанию метод EndPrinting ничего не делает.
Наследующие объекты могут переопределять его для выполнения
необходимых в конце печати действий.
    Считывает информацию, необходимую для печати выделенных
страниц документа, и возвращает True, если выбор страниц возможен.
Использовать Pages не обязательно, но если легко определить число
страниц, GetDialogInfo нужно передать в параметре Pages число
страниц в документе. В противном случае HasNextPage следует
установить в 0, а печать будет продолжаться, пока HasNextPage не
возвратит False.
    Определяет, имеет ли документ выделенный текст. Если да, то
функция возвращает значение True, а Start и Stop указывают,
соответственно, на начало и конец выделенного текста. Если
GetSelection возвращает False, то командная кнопка печати
выделенного текста в диалоговом блоке печати запрещена.
    По умолчанию GetSelection просто возвращает False.
Наследующие объекты могут переопределять GetSelection для фактического
определения существования выделенного текста.
    Данный метод вызывается после каждой страницы. По умолчанию
он всегда возвращает значение False, указывая, что печататься
должна только одна страница. Если документ содержит более одной
страницы, данный метод нужно переопределить для возврата True,
если имеются еще страницы для печати.
Поля
Banding: Boolean;
DC: HDC;
ForceAllBands: Boolean;
Size: TPoint;
Title: PChar;
Методы
Init
constructor Init(ATitle: PChar);
Done
destructor Done; virtual;
procedure BeginDocument(StartPage, EndPage: Integer;
Flag: Word); virtual;
BeginPrinting
procedure BeginPrinting; virtual;
EndDocument
procedure EndDocument; virtual;
EndPrinting
procedure EndPrinting; virtual;
GetDialogInfo
procedure GetDialogInfo(var Pages: Integer): Boolean;
virtual;
GetSelection
function GetSelection(var Start, Stop: Integer): Boolean;
virtual;
HasNextPage
function HasNextPage: Boolean; virtual;