Шаг 29.
Библиотека OWL.
Объектно-ориентированные принтер и вывод на печать

    На этом шаге мы приведем общие сведенния по организации печати в Object Windows.

    Базой для разнообразных возможностей печати в библиотеке OWL являются классы TPrinter и TPrintout, которые представляют соответственно устройство печати и распечатываемый документ. Когда вы создаете в своей программе объект TPrinter, OWL автоматически устанавливает вашу программу в соответствие с контекстом устройства печати, который, в свою очередь, уже связан с принтером пользователя, установленным по умолчанию. Вам не нужно читать строку параметров принтера, анализировать синтаксис строки параметров для его драйвера устройства и выходного порта. Когда затем вы создадите контекст устройства принтера, основанный на этих установках, OWL обработает все это за вас. Кроме того, TPrinter позволяет вам вызвать диалоговое окно Printer Setup с помощью одного короткого обращения к своей функции-члену Setup(). Используя данное диалоговое окно, пользователь может переключать принтеры, устанавливать горизонтальную или вертикальную (альбомную/книжную) ориентацию, размер бумаги, скорость печати и другие опции.

    Чтобы использовать все перечисленные преимущества в своей программе, вы должны только создать экземпляр объекта TPrinter:

    TPrinter  printer  =  new  TPrinter;

    Обычно удобно сделать указатель объекта TPrinter членом-данным вашего главного окна. Затем вы можете использовать его для вызова диалогового окна Printer Setup по требованию пользователя с помощью одной строки:

    printer->Setup();

    После того, как вы справились с этой задачей, организация реальной печати происходит следующим образом. С помощью ObjectWindows вы создаете объект TPrintout, представляющий тот документ, который вы хотите распечатать. Для того, чтобы распечатать документ, вы вызываете функцию Print() объекта TPrinter с объектом TPrintout в качестве второго аргумента:

    printer->Print(this, printout, TRUE);

    Несмотря на то, что само определение объекта TPrintout не составляет большого труда, все предшествующие шаги были направлены на организацию печати простого документа с использованием классов TPrinter и TPrintout библиотеки OWL.

    На следующем шаге мы приведем простейший пример печати.




Предыдущий шаг Содержание Следующий шаг