Переключение режимов вывода информации

Ниже показано, как использовать свойство Orientation для пе­реключения режимов вывода информации на устройство печати.

procedure TForm1.PortraitClick(Sender: TObject);

begin

Printer.Orientation := poPortrait;

(Вывод вертикально}

end;

procedure TForm1.LandscapeClick(Sender: TObject);

begin

Printer.Orientation := poLandscape;

{Вывод горизонтально}

end;

Базовые операции с принтером

Ниже показан набор базовых операций, необходимых для вы­вода информации на устройство печати. Сначала вызывается метод BeginDoc. Затем с помощью метода TextOut принтерного контек­ста (Canvas) выводится информация, а ее непосредственная рас­печатка начинается после вызова метода EndDoc:

Begin

Printer.BeginDoc;

{/////////////////

{

Здесь происходит вывод информации на принтер, например, с помощью вызова Printer.Canvas.TextOut(X, Y, ' ');

}

/////////////////}

{Сообщить пользователю}

Label1.Caption := 'Printing page ' + IntToStr(Printer.PageNumber);

Printer.NewPage; {Новая страница}

Printer.EndDoc; {Начать печать}

End;

Ниже показано, как вывести на принтер графическое изображение:

Begin

Printer.BeginDoc; {Начнем вывод информации }

Printer.Canvas.Rectangle(10, 10, 200, 200);{Нарисуем прямоугольник }

Printer.EndDoc; {Начнем печать }

End;

Вывод текстовой информации

В приведенном ниже примере показано, как вывести на устрой­ство печати содержимое редактора (класс типа ТМето). Для этого мы воспользуемся рядом процедур, определенных в модуле Print­ers. Сначала ассоциируем значение текстовой переменной с прин­тером. Для этого используется процедура AssignPrn. Например:

Var

TextToPrint : System.Text; {}

..............

AssignPrn(TextToPrint); {Ассоциировать с принтером)

Rewrite(TextToPrint);{Открыть файл}

Переключение режимов вывода информации - student2.ru Отметим, что с принтером может быть ассоциирована только одна текстовая переменная. Попытка ассоциации второй тексто­вой переменной приведет к возникновению ошибки.

После этого вызов стандартных процедур Write и Writeln при­ведет к выводу текста на устройство печати (точнее, в принтер­ный контекст, определенный свойством Canvas). Вывод содер­жимого редактора осуществляется с помощью стандартной про­цедуры Writeln:

For Line := 0 to Memo1.Lines.Count-1 do

Writeln(TextToPrint, Memo.Lines[Line])

После того как вывод информации завершен, необходимовы­звать стандартную процедуру Close:

System.Close(TextToPrint)

Этот вызов эквивалентен вызову Printer.EndDoc.

Для того чтобы текст на устройстве печати печатался тем же шрифтом, что используется для его отображения в редакторе, перед выводом информации на принтер необходимо выполнить следующее присваивание:

Printer. Canvas. Font : = Memo1.Font;

Примечание.Для вывода текстовой информации можно также воспользоваться методом TextOut принтерного контекста (Can­vas), который является «оболочкой» стандартной функции Windows API TextOut за тем исключением, что вам не требуется ука­зывать в качестве первого параметра контекст — им служит ком­понент Canvas, и указывать число символов в строке:

procedure Canvas.TextOut(X, Y: Integer; const Text: string);

function GDI.TextOut(DC: HDC; X, Y: Integer; Str: PChar; Count: Integer):

Bool;

Использование стандартных диалоговых панелей

Delphi содержит компоненты, реализующие две стандартные для Windows 3.1 диалоговые панели, связанные с выводом ин­формации на устройство печати. Это — компоненты для управ­ления страницами PrintDialog и для настройки параметров прин­тера PrinterSetupDialog, расположенные в панели компонентов на странице Dialogs (рис. 74).

Рис. 74. Диалоговая панель PrintDialog

Компонент PrintDialog

Этот компонент используется для задания ряда характеристик при выводе информации на устройство печати — диапазон выво­димых страниц, начальную и конечную страницу, качество печа­ти (число точек на дюйм), возможность печати в файл и число копий. Ниже рассматривается ряд свойств этого компонента.

Рис. 75. Диалоговая панель PrinterSetupDialog

Свойства FromPage и ToPage

Позволяют задать номер начальной и конечной страницы для вывода на устройство печати.

Свойства MinPage и МахРаде

Используются для задания минимального и максимального значений для диапазона выбираемых страниц. Отметим, что с изменением значений этих свойств значения соответствующих полей в диалоговой панели не изменяются.

Наши рекомендации