RAD Studio VCL Reference
|
Indicates the height (in pixels) of the currently printing page.
property PageHeight: Integer;
__property int PageHeight;
Use PageHeight to find the height in pixels of the currently printing page.
C++ Examples:
/* The following code aborts a print job if the user presses Esc. Note that you should set KeyPreview to true to ensure that the OnKeyDown event handler of Form1 is called. */ #include <Printers.hpp> void __fastcall TForm1::FormCreate(TObject *Sender) { KeyPreview = True; } void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key, TShiftState Shift) { if (Key == VK_ESCAPE && Printer()->Printing) { Printer()->Abort(); MessageDlg("Printing aborted", mtInformation, TMsgDlgButtons() << mbOK,0); } } void __fastcall TForm1::Button1Click(TObject *Sender) { TMemo *Memo1 = new TMemo(Form1); // The parent (Form1) will clean up this object. Memo1->Parent = Form1; Memo1->Visible = True; Memo1->Width = 700; if (OpenDialog1->Execute()) { Memo1->Lines->LoadFromFile(OpenDialog1->FileName); Printer()->BeginDoc(); int X = 200; int Y = 200; for (int I = 0; I <= 10; I++) if (!Printer()->Aborted) { Printer()->Canvas->TextOut(X, Y, Memo1->Lines->Strings[I]); Y = Y + 80; if (Y > (Printer()->PageHeight - 300)) { Y = 200; Printer()->NewPage(); Sleep(1000); // to give you time to abort! } } if (!Printer()->Aborted) Printer()->EndDoc(); } }
Delphi Examples:
{ The following code aborts a print job if the user presses Esc. Note that you should set KeyPreview to true to ensure that the OnKeyDown event handler of Form1 is called. } uses Printers; procedure TForm1.Button1Click(Sender: TObject); var I, X, Y: Integer; Memo1 : TMemo; r: TRect; begin Memo1 := TMemo.Create(Form1); Memo1.Parent := Form1; Memo1.Visible := True; Memo1.Width := 700; if (OpenDialog1.Execute) then begin Memo1.Lines.LoadFromFile(OpenDialog1.FileName); Printer.BeginDoc; X := 200; Y := 200; for I := 0 to 140 do if (not Printer.Aborted) then begin Printer.Canvas.TextOut(X, Y, Memo1.Lines[I]); Y := Y + 80; if (Y > (Printer.PageHeight - 300)) then begin Y := 200; Printer.NewPage; Sleep(1000); // to give you time to abort! end; end; if (not Printer.Aborted) then Printer.EndDoc; end; end; procedure TForm1.FormCreate(Sender: TObject); begin KeyPreview := True; end; procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (Key=VK_ESCAPE) and Printer.Printing then begin Printer.Abort; MessageDlg('Printing aborted', mtInformation, [mbOK],0); end; end;
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
|
What do you think about this topic? Send feedback!
|