RAD Studio VCL Reference
|
Indicates the type of print range selected in the dialog.
property PrintRange: TPrintRange;
__property TPrintRange PrintRange;
The value of PrintRange corresponds the All, Selection, and Pages (From/To) radio buttons in the Print dialog. To determine which radio button is selected by default when the dialog opens, set the value of PrintRange in the Object Inspector or in program code.
To enable the Pages radio button, set the poPageNums flag in Options. To enable the Selection radio button, set the poSelection flag in Options and set MaxPage to a greater value than MinPage.
C++ Examples:
{ This example uses a button, a Page Control, and a Print dialog box on a form. When the user clicks the button, the print dialog is displayed. The user can select any subset of the pages in the page control for printing. The selected pages are then printed. To run this example successfully, you must add the Printers unit to the uses clause of your unit. Right click on the PageControl to add at least one page to the PageControl. */ void __fastcall TForm1::Button1Click(TObject *Sender) { PrintDialog1->Options.Clear(); PrintDialog1->Options << poPageNums << poSelection; PrintDialog1->FromPage = 1; PrintDialog1->MinPage = 1; PrintDialog1->ToPage = PageControl1->PageCount; PrintDialog1->MaxPage = PageControl1->PageCount; if (PrintDialog1->Execute()) { int Start, Stop; // determine the range the user wants to print switch (PrintDialog1->PrintRange) { case prSelection: Start = PageControl1->ActivePage->PageIndex; Stop = Start; break; case prPageNums: Start = PrintDialog1->FromPage - 1; Stop = PrintDialog1->ToPage - 1; break; default: // prAllPages Start = PrintDialog1->MinPage - 1; Stop = PrintDialog1->MaxPage - 1; break; } // now, print the pages Printer()->BeginDoc(); for (int i = Start; i <= Stop; i++) { PageControl1->Pages[i]->PaintTo(Printer()->Handle, 10, 10); if (i != Stop) Printer()->NewPage(); } Printer()->EndDoc(); } }
Delphi Examples:
{ This example uses a button, a Page Control, and a Print dialog box on a form. When the user clicks the button, the print dialog is displayed. The user can select any subset of the pages in the page control for printing. The selected pages are then printed. To run this example successfully, you must add the Printers unit to the uses clause of your unit. Right click on the PageControl to add at least one page to the PageControl. } procedure TForm1.Button1Click(Sender:TObject); var I, Start, Stop: Integer; begin PrintDialog1.Options := [poPageNums, poSelection]; PrintDialog1.FromPage := 1; PrintDialog1.MinPage := 1; PrintDialog1.ToPage := PageControl1.PageCount; PrintDialog1.MaxPage := PageControl1.PageCount; if PrintDialog1.Execute() then begin { determine the range the user wants to print } with PrintDialog1 do begin if PrintRange = prAllPages then begin Start := MinPage - 1; Stop := MaxPage - 1; end else if PrintRange = prSelection then begin Start := PageControl1.ActivePage.PageIndex; Stop := Start; end else { PrintRange = prPageNums } begin Start := FromPage - 1; Stop := ToPage - 1; end; end; { now, print the pages } with Printer do begin BeginDoc; for I := Start to Stop do begin PageControl1.Pages[I].PaintTo(Handle, 10, 10); if I <> Stop then NewPage; end; EndDoc; end; end; end;
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
|
What do you think about this topic? Send feedback!
|