TPrintDialog и параметр ориентации чтения

Есть ли возможность читать с TPrintDialog ориентация страницы (горизонтальная / вертикальная) выбрана пользователем?

В классическом решении:

if PrintDialog1.Execute() then
begin
  Printer.Orientation := poLandscape //I want read this parameter from PrintDialog

  Printer.BeginDoc;
  ...
  Printer.EndDoc;
end;

Я не могу найти ориентацию в TPrintDialog,

1 ответ

Решение

TPrintDialog не предлагает эту информацию. Скорее, он позволяет пользователю выбрать принтер, диапазон печати и количество копий.

Когда вы показываете TPrintDialog У пользователя есть возможность установить свойства для выбранного принтера, в том числе ориентацию страницы. Затем вы должны прочитать эту информацию из TPrinter объект, который вы используете для печати.

Глядя на свой код, вы уже используете глобальный Printer объект, который представляет выбранный принтер. Этот объект уже имеет указанную пользователем ориентацию. Другими словами, вы можете просто удалить строку кода, которая пытается присвоить Printer.Orientation потому что это свойство уже было установлено.

Другие вопросы по тегам