8.6 Диалоги печати и установки принтера — компоненты PrintDialog и PrinterSetupDialog

Компонент PrintDialog вызывает диалоговое окно печати, представленное на рис. 8.10. В нем пользователь может выбрать принтер и установить его свойства, указать число копий и последователъность их печати, печатать в файл или непосредственно на принтер, выбрать печатаемые страницы или печатать только выделенный фрагмент.

Рис. 8.10
Диалоговое окно настройки печати

Компонент PrintDialog не осуществляет печать. Он только позволяет пользователю задать атрибуты печати. А сама печать должна осуществляться программно с помощью объекта Printer или иным путем (о способах печати см. раздел 4.7).

Рассмотренные ранее диалоговые компоненты возвращали одно свойство — имя файла, цвет, или один объект — Font, содержащий множество свойств. В отличие от них компонент PrintDialog возвращает ряд свойств, характеризующих выбранные пользователем установки. Это следующие свойства:


PrintRangeПоказывает выбранную пользователем радиокнопку из группы Печатать: prAllPages — выбрана кнопка Все страницы, prSelection — выбрана кнопка Страницы с ... по ..., prPageNums — выбрана кнопка Страницы
FromPageПоказывает установленную пользователем начальную страницу в окне Страницы с ... по ...
ToPageПоказывает установленную пользователем конечную страницу в окне Страницы с ... по ...
PrintToFileПоказывает, выбран ли пользователем индикатор Печать в файл
CopiesПоказывает установленное пользователем число копий
CollateПоказывает, выбран ли пользователем индикатор Разобрать

Перед вызовом диалога желательно определить, сколько страниц в печатаемом тексте, и задать параметры MaxPage и MinPage — максимальный и минимальный номера страниц. В противном случае пользователю в диалоговом окне не будет доступна кнопка Страницы с ... по .... Кроме того следует определить множество опций в свойстве Options:


poDisablePrintToFileЗапретить доступ к индикатору Печать в файл. Эта опция работает только при включенной опции poPrintToFile
poHelpОтображать в диалоговом окне кнопку Справка. Опция может не работать для некоторых версий Windows 95/98
poPageNumsСделать доступной радиокнопку Страницы, позволяющую пользователю задавать диапазон печатаемых страниц
poPrintToFileОтображать в диалоговом окне кнопку Печать в файл
poSelectionСделать доступной кнопку Выделение, позволяющую пользователю печатать только выделенный текст
poWarningВыдавать замечания, если пользователь пытается послать задачу на неустановленный принтер

Теперь остановимся на компоненте PrinterSetupDialog, вызывающем диалоговое окно установки принтера, представленное на рис. 8.11. Это единственный диалоговый компонент, не имеющий никаких специфических свойств, которые надо было бы устанавливать или читать. Диалог выполняет операции по установке принтера, на котором будет производиться печать, и задании его свойств. Этот диалог не возвращает никаких параметров.

Рис. 8.11
Диалоговое окно установки принтера


к началу страницы