|
|
|
---|
    TEditPrintout - это объект распечатки, предназначенный для печати содержимого управляющего элемента редактирования.
    Указывает на печатаемый управляющий элемент редактирования.
    Высота печатаемой строки. Вычисляется SetPrintParams на
основе размера текста на устройстве печати.
    Число текстовых строк, печатаемых на странице. Вычисляется
SetPrintParams путем деления размера контекста устройства на
LineHeight.
    Устанавливается SetPrintParams в число строк текста в
управляющем элементе редактирования.
    BeginDocument устанавливает StartLine в 0 (первая строка
текста). Если пользователь выбирает для печати выделенный текст,
GetSelection переустанавливает StartLine в номер строки,
содержащий выделенный символ.
    Если печатается выделенный текст, указывает позицию первого
выделенного символа в тексте управляющего элемента
редактирования. В противном случае это 0.
    BeginDocument устанавливает StopLine в NumLines - 1, что
означает последнюю строку текста. Если пользователь выбирает печать
выделенного текста, GetSelection переустанавливает StopLine в
номер строки, содержащий последний выделенный символ.
    Если печатается выделенный текст, указывает позицию
последнего выделенного символа в тексте управляющего элемента
редактирования. В противном случае это 32767.
    Ниже описываются методы, определенные в данном объекте.
    Строит объект управляющего элемента редактирования, вызывая
сначала конструктор Init, наследуемый из TPrintout. Затем
устанавливает Editor в AEditor и инициализирует все остальные поля
значением 0.
    См. также: TPrintout.Init.
    Проверяет бит pf_Selection в поле Flags и определяет, хочет
ли пользователь печатать выделенный текст или весь редактируемый
текст. Если печатать нужно только выделенный текст, BeginDocument
ничего не делает, оставляя значения, установленные GetSelection.
В противном случае StartLine и StartPos устанавливаются в 0,
StopLine - в NumLines - 1, а StopPos - в 32767.
    Устанавливает StartPos и StopPos в начальную и конечную
позиции выделенного текста, вызывая Editor^.GetSelection. Если
StartPos и StopPos равны, что означает отсутствие выделенного
текста, GetSelection возвращает False. В противном случае
GetSelection устанавливает StartLine и StopLine в число строк,
содержащих StartPos и StopPos соответственно, затем устанавливает
Start в 1, а Stop - в число страниц, необходимых для печати
выделенных строк текста, после чего возвращает значение True.
    Всегда возвращает True. Поскольку объект распечатки элемента
редактирования может вычислить, сколько страниц требуется для
печати текста управляющего элемента редактирования, он не
полагается на значение HasNextPage, указывающее, что печать закончена.
Поля
Editor: PEdit;
LineHeight: Integer;
LinesPerPage: Integer;
NumLines: Integer;
StartLine: Integer;
BeginDocument: Integer;
StartPos: Integer;
StopLine: Integer;
StopPos: Integer;
Методы
Init
constructor Init(AEditor: PEdit; ATitle: PChar);
BeginDocument
procedure BeginDocument(StartPage, EndPage: Integer;
Flags: Word); virtual;
GetDialogInfo
function GetDialogInfo(var Pages: Integer): Boolean;
virtual;
HasNextPage
function HasNextPage: Boolean; virtual;