2015-02-24 5 views
2

Я хочу напечатать форму в delphi, и я не уверен, как это сделать. Я пытался возиться с диалогом печати, но я не могу заставить его ничего печатать.Как распечатать форму в delphi

Любая помощь приветствуется.

+0

Спасибо за ответ! Единственная проблема, с которой я сталкиваюсь, заключается в том, что она печатает портрет, где я хочу, чтобы он был в пейзаже. Я попробовал «printer.orientation.poLandscape», и ничего не изменилось. – gweno10

ответ

4

Вы можете просто позвонить по методу Print из TForm. Используйте свойство PrintScale для дополнительного контроля в масштабировании печати.

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

Ваш код может выглядеть следующим образом:

if PrintDialog.Execute then 
begin 
    // account for any user choices, reading from PrintDialog properties 
    PrintScale := ...; 
    for i := 1 to PrintDialog.Copies do 
    Print; 
end; 
+0

Спасибо за ответ! Единственная проблема, с которой я сталкиваюсь, заключается в том, что она печатает портрет, где я хочу, чтобы он был в пейзаже. Я попробовал «printer.orientation.poLandscape», и ничего не изменилось. – gweno10

+0

Хорошо работает здесь. Интересно, настраивает ли ваш диалог печати ориентацию. Во всяком случае, теперь это другая проблема, не связанная с вопросом, который вы изначально задали. –

Смежные вопросы