home *** CD-ROM | disk | FTP | other *** search
- {*******************************************************}
- { }
- { Delphi Visual Component Library }
- { }
- { Copyright (c) 1995 Borland International }
- { }
- {*******************************************************}
-
- unit Printers;
-
- interface
-
- uses WinTypes, SysUtils, Classes, Graphics, Forms;
-
- type
- EPrinter = class(Exception);
-
- { TPrinter }
-
- { The printer object encapsulates the printer interface of Windows. A print
- job is started whenever any redering is done either through a Text variable
- or the printers canvas. This job will stay open until EndDoc is called or
- the Text variable is closed. The title displayed in the Print Manager (and
- on network header pages) is determined by the Title property.
-
- EndDoc - Terminates the print job (and closes the currently open Text).
- The print job will being printing on the printer after a call to EndDoc.
- NewPage - Starts a new page and increments the PageNumber property. The
- pen position of the Canvas is put back at (0, 0).
- Canvas - Represents the surface of the currently printing page. Note that
- some printer do not support drawing pictures and the Draw, StretchDraw,
- and CopyRect methods might fail.
- Fonts - The list of fonts supported by the printer. Note that TrueType
- fonts appear in this list even if the font is not supported natively on
- the printer since GDI can render them accurately for the printer.
- PageHeight - The height, in pixels, of the page.
- PageWidth - The width, in pixels, of the page.
- PageNumber - The current page number being printed. This is incremented
- when ever the NewPage method is called. (Note: This property can also be
- incremented when a Text variable is written, a CR is encounted on the
- last line of the page).
- PrinterIndex - Specifies which printer in the TPrinters list that is
- currently selected for printing. Setting this property to -1 will cause
- the default printer to be selected. If this value is changed EndDoc is
- called automatically.
- Printers - A list of the printers installed in Windows.
- Title - The title used by Windows in the Print Manager and for network
- title pages. }
-
- TPrinterOrientation = (poPortrait, poLandscape);
-
- TPrinter = class(TObject)
- public
- constructor Create;
- destructor Destroy; override;
- procedure Abort;
- procedure BeginDoc;
- procedure EndDoc;
- procedure NewPage;
- procedure GetPrinter(ADevice, ADriver, APort: PChar; var ADeviceMode: THandle);
- procedure SetPrinter(ADevice, ADriver, APort: PChar; ADeviceMode: THandle);
- property Aborted: Boolean;
- property Canvas: TCanvas;
- property Fonts: TStrings;
- property Handle: HDC;
- property Orientation: TPrinterOrientation;
- property PageHeight: Integer;
- property PageWidth: Integer;
- property PageNumber: Integer;
- property PrinterIndex: Integer;
- property Printing: Boolean;
- property Printers: TStrings;
- property Title: string;
- end;
-
- var
- Printer: TPrinter;
-
- { AssignPrn - Assigns a Text variable to the currently selected printer. Any
- Write or Writeln's going to that file variable will be written on the
- printer using the Canvas property's font. A new page is automatically
- started if a CR is encountered on (or a Writeln is written to) the last
- line on the page. Closing the text file will imply a call to the
- Printer.EndDoc method. Note: only one Text variable can be open on the
- printer at a time. Opening a second will cause an exception.}
- procedure AssignPrn(var F: Text);
-
- implementation
-