Разное
Облака / Clouds
The bast cloud service
Get 20 GB free!!!
Support WebDav.
Show more >>
time-tested cloud storage
Support WebDav.
Последние книги
Самое популярное
Все бесплатно
Все ссылки на файлы, расположенные на страницах сайта, добавлены пользователями и доступны для бесплатного скачивания. За содержание этих файлов администрация сайта ответственности не несет.
Навигация
Вопросы
Компонент PopupMenu
Категория: Компоненты
Категория: Компоненты
Отступ в Memo
Категория: Компоненты
Категория: Компоненты
Шифрование текста по паролю
Категория: Текст и строки
Категория: Текст и строки
Получить типы полей таблицы
Категория: Базы данных
Категория: Базы данных
Подсчет времени какого-либо события
Категория: Математика
Категория: Математика
Как соединить несколько файлов в один
Категория: Файловая система
Категория: Файловая система
Автоматическое определения кодировки текста
Категория: Текст и строки
Категория: Текст и строки
Проверить существование определённого URL
Категория: Базы данных
Категория: Базы данных
Определение размера файла
Категория: Файловая система
Категория: Файловая система
Узнать установлена ли BDE
Категория: Базы данных
Категория: Базы данных
Delphi - Справочник: TPrintDialog
TPrintDialog
|
type TPrintDialog = class; |
Тип (Unit Dialogs)
|
Класс, который создает выбор принтера и диалог управления
|
Описание:
|
Класс TPrintDialog используется для создания диалога выбор принтера и управления печати. Перед печатью из вашего приложения, лучше отобразить диалог печати. Это позволяет пользователю выбирать желательный принтер и атрибуты, наряду с управлением печатью. Сначала вы используете класс, создавая от него объект, и затем устанавливая требуемые атрибуты диалога из следующего списка: Collate Устанавливается ли предварительно опция Collate Copies Сколько копий печатать FromPage Выбранная страница в диапазоне страниц ToPage Выбранная страница в диапазоне страниц MinPage Самая ранняя выбиранная страница MaxPage Самая поздняя выбиранная страница PrintRange Выбираемый тип начальной страницы Options Различные мультивыбираемые варианты PrintToFile Если ложь, мы печатаем на бумагу Значения PrintRange: prAllPages Все страницы для печати prSelection Выбор страницы для печати prPageNums Номера страницы для печати Вы выбираете один перед запуском диалога - и выясняете, пользователь изменил его, когда диалог закончился. Значения Options могут быть: poPrintToFile Печать в файл poPageNums Печать по диапазону страниц poSelection Печать выбранных страниц poWarning Предупреждение, если плохой принтер poHelp Показ помощи poDisablePrintToFile Печать в файл отвергнута Некоторые из этих вариантов могут также быть установлены пользователем диалога. Всегда, впоследствии, проверяйте их значения. После установки этих вариантов, используйте метод Execute для отображения диалога, проверяйте Булев результат после его выполнения, чтобы знать, продолжить ли печать. |
Пример кода: Относительно простой пример
|
const TOTAL_PAGES = 4; // Сколько страниц печатать var printDialog : TPrintDialog; page, startPage, endPage : Integer; begin // Создание диалога выбора принтера printDialog := TPrintDialog.Create(Form1); // Установка опций диалога печати printDialog.MinPage := 1; printDialog.MaxPage := TOTAL_PAGES; printDialog.ToPage := TOTAL_PAGES; printDialog.Options := [poPageNums]; // Если пользователь выбрал принтер (или значение по умолчанию), то печатаем! if printDialog.Execute then begin // Используйте функцию Printer, чтобы получить доступ к глобальному объекту TPrinter. // Set to landscape orientation Printer.Orientation := poLandscape; // Установите заголовок printjob - как оно появляется в менеджере задания по выводу на печать Printer.Title := 'Test print for Delphi'; // Устанавливаем число копий для печати каждой страницы Printer.Copies := printDialog.Copies; // Начало печати Printer.BeginDoc; // Пользователь выбрал диапазон страниц? if printDialog.PrintRange = prPageNums then begin startPage := printDialog.FromPage; endPage := printDialog.ToPage; end else // Все страницы begin startPage := 1; endPage := TOTAL_PAGES; end; // Установка номера начальной страницы page := startPage; // Продолжаем печатать пока всё OK while (not Printer.Aborted) and Printer.Printing do begin // Пишем номер страницы Printer.Canvas.Font.Color := clBlue; Printer.Canvas.TextOut(40, 20, 'Page number = '+IntToStr(page)); // Увеличиваем номер страницы Inc(page); // Теперь начинаем новую страницу - если она не последняя if (page <= endpage) and (not printer.aborted) then Printer.NewPage; end; // Конец печати Printer.EndDoc; end; end;
Результат:
|
Диалог печати отобразит, и различные страницы напечатаются если пользователь нажмёт OK. Иначе, никакие страницы не печатаются. Если напечатано, то синий номер страницы появляется на каждой странице |
Примечание:
|
Используется вместе с объектом Printer. |