Class TPreviewPrinter (unit PrevPrinter) |
Inherits from
TComponent
constructor Create(AOwner: TComponent);
- ************************************************************************ TPreviewPrinter
procedure BeginDoc;
Printer Methods
destructor Destroy;
procedure DrawAlignText(y: integer; Align: TAlignment; const Text: string; Font: TFont);
RestoreFont(Font, ppiy);
procedure DrawHdrFtrPage(PageNum: integer);
procedure DrawRichText(RE: TCustomRichEdit);
flush buffer
procedure DrawStringList(Strings: TStrings);
Draw the Header, Footer, & Page Num
procedure EndDoc;
procedure FixFont(Font: TFont);
function GetPreviewForm: TForm;
This is incase they called NewPage, but never drew anything on it
procedure NewPage;
function PageSetupDlg: integer;
procedure Preview;
Change this later when allow threaded printing
procedure Print;
function PrintDialog: boolean;
function PrintRange(StartPage, StopPage: integer): boolean;
Returns False if user cancels print job
procedure RestoreFont(Font: TFont; PPI: integer);
function UnitToX(x: double): integer;
Helper Methods (Canvas Need a TrueType font that can scale (MS Sans Serif doesn't scale well
function UnitToY(y: double): integer;
function XToUnit(x: integer): double;
function YToUnit(y: integer): double;
procedure FreeMetaFiles;
function GetCanvas: TCanvas;
TODO: This will change with threading
function GetLastAvailPage: integer;
function GetMetaFile(i: integer): TMetaFile;
function GetPageNum: integer;
Print the Page
procedure InitPrinterVars(hdc: THandle);
procedure Loaded;
procedure SetDrawOptions(NewOptions: TTextOptions);
procedure SetUnits(Val: TUnits);
property Orientation : TPrinterOrientation
property ShowGrid : boolean
property TextOptions : TTextOptions
property Title : string
property Units : TUnits
property ZoomOption : TZoomOption
property ZoomVal : integer
property Canvas : TCanvas
property LastAvailPage : integer
property MetaFiles : TMetaFile
property OffsetX : integer
property OffsetY : integer
property PageHeight : integer
property PageNumber : integer
property PageWidth : integer
property PixelsPerInchX : integer
property PixelsPerInchY : integer
property Printing : boolean
event OnNewPage : TNewPageProc
event OnOwnerDraw : TOwnerDrawProc
event OnOwnerHeight : TOwnerHeightProc
event OnStatus : TStatusProc
ConvFac : double;
CurCanvas : TCanvas;
FDrawOpt : TTextOptions;
FNewPage : TNewPageProc;
FOnStatus : TStatusProc;
FOrient : TPrinterOrientation;
FOwnDraw : TOwnerDrawProc;
FOwnHgt : TOwnerHeightProc;
FPrinting : boolean;
FShowGrid : boolean;
FTitle : string;
FUnits : TUnits;
FZoomOpt : TZoomOption;
FZoomVal : integer;
MFList : TList;
offx : integer;
offy : integer;
ppix : integer;
ppiy : integer;
sizex : integer;
sizey : integer;
UsedPage : boolean;
TmpBmp : TBitmap;
constructor Create(AOwner: TComponent);
************************************************************************ TPreviewPrinter
procedure BeginDoc;
Printer Methods
destructor Destroy;
procedure DrawAlignText(y: integer; Align: TAlignment; const Text: string; Font: TFont);
RestoreFont(Font, ppiy);
procedure DrawHdrFtrPage(PageNum: integer);
procedure DrawRichText(RE: TCustomRichEdit);
flush buffer
procedure DrawStringList(Strings: TStrings);
Draw the Header, Footer, & Page Num
procedure EndDoc;
procedure FixFont(Font: TFont);
function GetPreviewForm: TForm;
This is incase they called NewPage, but never drew anything on it
procedure NewPage;
function PageSetupDlg: integer;
procedure Preview;
Change this later when allow threaded printing
procedure Print;
function PrintDialog: boolean;
function PrintRange(StartPage, StopPage: integer): boolean;
Returns False if user cancels print job
procedure RestoreFont(Font: TFont; PPI: integer);
function UnitToX(x: double): integer;
Helper Methods (Canvas
Need a TrueType font that can scale (MS Sans Serif doesn't scale well
function UnitToY(y: double): integer;
function XToUnit(x: integer): double;
function YToUnit(y: integer): double;
procedure FreeMetaFiles;
function GetCanvas: TCanvas;
TODO: This will change with threading
function GetLastAvailPage: integer;
function GetMetaFile(i: integer): TMetaFile;
function GetPageNum: integer;
Print the Page
procedure InitPrinterVars(hdc: THandle);
procedure Loaded;
procedure SetDrawOptions(NewOptions: TTextOptions);
procedure SetUnits(Val: TUnits);
property Orientation : TPrinterOrientation
property ShowGrid : boolean
property TextOptions : TTextOptions
property Title : string
property Units : TUnits
property ZoomOption : TZoomOption
property ZoomVal : integer
property Canvas : TCanvas
property LastAvailPage : integer
property MetaFiles : TMetaFile
property OffsetX : integer
property OffsetY : integer
property PageHeight : integer
property PageNumber : integer
property PageWidth : integer
property PixelsPerInchX : integer
property PixelsPerInchY : integer
property Printing : boolean
event OnNewPage : TNewPageProc
event OnOwnerDraw : TOwnerDrawProc
event OnOwnerHeight : TOwnerHeightProc
event OnStatus : TStatusProc
ConvFac : double;
CurCanvas : TCanvas;
FDrawOpt : TTextOptions;
FNewPage : TNewPageProc;
FOnStatus : TStatusProc;
FOrient : TPrinterOrientation;
FOwnDraw : TOwnerDrawProc;
FOwnHgt : TOwnerHeightProc;
FPrinting : boolean;
FShowGrid : boolean;
FTitle : string;
FUnits : TUnits;
FZoomOpt : TZoomOption;
FZoomVal : integer;
MFList : TList;
offx : integer;
offy : integer;
ppix : integer;
ppiy : integer;
sizex : integer;
sizey : integer;
UsedPage : boolean;
TmpBmp : TBitmap;