Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Программирование печати документов

 

 

Для обслуживания принтера используется специальный класс TPrinter, который описан в модуле Printers. Класс TPrinter инкапсулирует функции Windows по обслуживанию принтера. В модуле Printers на базе класса TPrinter создан объект

Printer: TPrinter;

который используется в программах.

 

Свойства класса TPrinter:

Canvas;

- это дисплейный контекст принтера, в котором происходит вывод информации.

 

Fonts;

- содержит список шрифтов, поддерживаемых принтером.

 

Orientation = (poPortrait, poLandscape);

- позволяет задавать тип расположения информации на листе;

 

PageHeight;

- содержит размер текущей принтерной страницы в пикселях

 

PageNumber;

- содержит номер текущей принтерной страницы. Это значение увеличивается на единицу при каждом вызове метода NewPage. Свойство только для чтения;

 

PageWidth;

- ширина принтерной страницы;

 

Printers;

- содержит список всех принтеров, доступных приложениям. Свойство только для чтения;

 

PrinterIndex;

- указывает, какой из принтеров в списке является текущим. Чтобы использовать принтер “по умолчанию” следует положить

PrinterIndex = -1;

 

Title;

- позволяет задавать заголовок страницы.

Пример.

Unit DemoPrinter;

Interface

Uses

, Printers;

Type

TForm1 = class (TForm)

ComboBox1: TComboBox;

ComboBox2: TComboBox;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Button1: TButton;

Button2: TButton;

Procedure FormCreate(Sender: TObject);

Procedure RadioButton1Click(Sender: TObject);

Procedure Button1Click(Sender: TObject);

Procedure Button2Click(Sender: TObject);

end;

 

var

Form1: TForm1;

Interface

 

Procedure TForm1.FormCreate(Sender: TObject);

begin

//вывести список принтеров

ComboBox1.Items:= Printer.Printers;

//вывести список поддерживаемых шрифтов

ComboBox2.Items:= Printer.Fonts;

ComboBox1.ItemsIndex:= 0;

ComboBox2.ItemsIndex:= 0;

//по умолчанию ориентация страницы poPortrait

RadioButton1.Checked:= true;

Printer.Orientation:= poPortrait;

//получить текущую высоту листа

Edit1.Text:= IntToStr(Printer.PageHeight);

//получить текущую ширину листа

Edit2.Text:= IntToStr(Printer.PageWidth);

//активизировать Edit3

ActiveControl:= Edit3;

end;

 

Procedure TForm1.RadioButton1Click(Sender: TObject);

begin

if (Sender as TRadioButton).Checked then

if (Sender as TRadioButton).Caption = ‘Горизонтальная’

then Printer.Orientation:= poLandScape

else Printer.Orientation:= poPortrait;

end;

 

Procedure TForm1.Button1Click(Sender: TObject);

begin

Printer.Title:= Edit3.Text;

end;

 

Procedure TForm1.Button1Click(Sender: TObject);

begin

Printer.Title:= Edit3.Text;

end;

 

Procedure TForm1.Button2Click(Sender: TObject);

begin //печать информации

Print; //вывод содержимого формы или

if PrintDialog1.Execute then Form1.Print;

end;

end;

 

Методы класса TPrinter:

Abort;

- аварийное завершение вывода на печать. Этот метод используется, если пользователь решил прервать печать досрочно.

Пример.

Procedure TForm1.FormKeyDown(Sender: TObject; var Key; Word; Shift: TShiftState);

begin

//если во время печати нажата клавиша ESC

if (Key = vk_ESCAPE) and Printer.Printing then

begin

Printer.Abort;

MessageDlg(‘Печать прервана‘, mtInformation, [mbOK],0);

end;

end;

 

BeginDoc;

- посылает информацию на принтер;

 

EndDoc;

- начало процесса печати;

 

NewPage;

- переход на новый лист печати. Этот метод увеличивает на 1 свойство PageNumber и устанавливает курсор в координату (0, 0);

<== предыдущая лекция | следующая лекция ==>
Компонент TPrintDialog | Использование клавиши PrintScreen
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 202; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.