TPrinter (модуль OPrinter)


TObject
 
Init
Done
Free
TPrintout
Device
DeviceMode
DeviceModule
DevSettings
DevSettingSize
Driver
Error
ExtDeviceMode
Port
Status
Init
Done
ClearDevice
Configure
GetDC
InitAbortDialog
InitPrintDialog
Print
ReportError
SertDevice
Setup

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

Поля


Device

     Device: PChar;

    Указывает на имя текущего устройства. В случае значения nil объект не связан в данный момент с устройством.

DeviceMode

     DeviceMode: TDeviceMode;

    Функциональная переменная, содержащая адрес функции DeviceMode текущего связанного принтера. Данная переменная используется при вызове Configure, если устройство не поддерживает ExtDeviceMode.

DeviceModule

     DeviceModule: THandle;

    Описатель текущего драйвера принтера.

DeviceSettings

     DeviceSettings: PDevMode;

    Указатель на локальную копию установленных параметров устройства печати (называемую также операционным окружением). Используется только если текущее устройство печати поддерживает ExtDeviceMode.

DeviceSettingSize

     DeviceSettingSize: Integer;

    Объем памяти, выделенной для DeviceSetings.

Driver

     Driver: PChar;

    Указатель на имя текущего драйвера. В случае значения nil объект не связан в данный момент с драйвером.

Error

     Error: Integer;

    Код ошибки, возвращаемый GDI при печати. Это значение инициализируется при вызове Print.

ExtDeviceMode

     ExtDeviceMode: TExtDeviceMode;

    Функциональная переменная, содержащая адрес функции ExtDeviceMode текущего устройства печати. Если драйвер не поддерживает данную подпрограмму, специфичную для Windows 3.0, то данный адрес равен nil (то есть @ExtDeviceMode = nil равно True). Эта переменная используется при вызове Configure.

Port

     Port: PChar;

    Указатель на имя порта, к которому подсоединен текущий принтер. В случае значения nil объект не содержит принтера.

Status

     Status: Integer;

    Текущее состояние драйвера принтера.

Методы


    Ниже описываются методы, определенные в данном объекте.

Init


     constructor Init;

    Создает экземпляр TPrinter, связанный с используемым по умолчанию принтером. Чтобы сменить принтер, TPrinter после инициализации объекта вызывает SetDevice. Вызов Setup также позволяет пользователю выбрать новое устройство в ходе диалога.

Done (переопределяется редко)


     desctuctor Done; virtual;

    Освобождает ресурсы, выделенные для TPrinter.

ClearDevice


     procedure ClearDevice;

    Отменяет связь устройства с текущим принтером. Вызывается SetDevice и Done. Изменяет текущее состояние принтера на pf_Unassociated, что приводит к игнорированию объектом всех вызовов Print, пока объект не будет снова связан с принтером.

Configure


     procedure Confuigure(Window: PWindowsObject);

    Вызывает драйвер устройства для конфигурации текущего принтера. Если драйвер принтера поддерживает ExtDeviceMode, то сохраняется локальная копия параметров принтера, и значения принтера по умолчанию не изменяются. Если принтер поддерживает только DeviceMode, глобальные значения по умолчанию для принтера будут модифицированы.

GetDC (переопределяется редко)


     function GetDC: HDC; virtual;

    Возвращает для текущего связанного с объектом принтера контекст устройства. Если объект находится в недопустимом состоянии, или принтер связан с неактивным портом (то есть с портом "None"), возвращает 0.

InitAbortDialog (переопределяется редко)


     function InitAbortDialog(Parent: PWindowsObject;
                              Title: PChar): PDialog; virtual;

    Вызывается методом Print в начале печати задания. Возвращаемым результатом является созданный безрежимный диалоговый блок. По умолчанию возвращается экземпляр TPrinterAbortDlg. Отмена этого диалогового блока отменяет задание печати.

    Может переопределяться для возврата специализированного диалога, выводящего на экран текущую печать.

InitPrintDialog (переопределяется редко)


     function InitPrintDialog(Parent: PWindowsObject; PrnDC: HDC;
                   Pages: Integer; SetAllowed: Boolean; var Data;
                   TPrintDialogRec): PDialog; virtual;

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

InitSetupDialog (переопределяется редко)


     function InitSetupDialog(Parent: PWindowsObject): PDialog;
                              virtual;

    Вызывается методом Setup для возврата диалогового блока установки принтера. В приложении результат предполагается в виде режимного диалогового окна. По умолчанию возвращается экземпляр TPrinterSetupDlg. Может переопределяться для возврата специализированного диалога установки принтера.

Print


     function Print(ParentWin: PWindowsObject;
                    PrintOut: PPrintOut): Boolean;

    Переводит указанный объект распечатки на связанное устройство печати. При печати выводит на экран диалоговое окно прерывания и обнаруженные ошибки.

ReportError (иногда переопределяется)


     procedure ReportError(PrintOut: PPrintOut); virtual;

    Print вызывает ReportError в случае обнаружения ошибки. По умолчанию выводится блок системного сообщения со строкой ошибки, полученной из значений таблицы строк 32512 - 32519. Чтобы вывести специализированный диалоговый блок ошибки, данный метод можно переопределить.

SetDevice


     procedure SetDevice(ADevice, ADriver, APort: PChar);

    Изменяет связь с устройством печати. Setup вызывает SetDevice для интерактивного изменения связи. Допустимые параметры данного метода можно найти в секции устройств файла WIN.INI.

    Записи секции устройств имеют следующий формат:

    <имя_устройства>=<драйвер>, <порт> {, <порт>} где порт может повторяться любое число раз.

Setup


     procedure Setup(Parent: PWindowsObject);

    Этот метод вызывается, когда вы хотите, чтобы пользователь выбирал и/или настраивал конфигурацию текущего связанного принтера. Для возврата представляемого пользователю диалогового блока установки принтера вызывает InitSetupDialog.