2016-09-08 4 views
4

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

В классическом растворе:

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

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

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

+0

'TPrinterSetupDialog' предлагает пользователю ярлык для этих настроек, но компонент также не предлагает настройки. – NGLN

ответ

4

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

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

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