Компонент 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 Диалоговое окно установки принтера |