通上,立即结分

解决方案 »

  1.   

    ===============================================================================
    Like TCanvas, the TPrinter class does not belong to BaseCLX because there are two separate versions, one for VCL applications (in the Printers unit) and one for CLX applications (in the QPrinters unit). The VCL TPrinter object encapsulates details of Windows printers. The CLX TPrinter object is a paint device that paints on a printer. It generates postscript and sends that to lpr, lp, or another print command. Both versions of TPrinter, however, are extremely similar.To get a list of installed and available printers, use the Printers property. Both printer objects use a TCanvas (which is identical to the form's TCanvas) which means that anything that can be drawn on a form can be printed as well. To print an image, call the BeginDoc method followed by whatever canvas graphics you want to print (including text through the TextOut method) and send the job to the printer by calling the EndDoc method. This example uses a button and a memo on a form. When the user clicks the button, the content of the memo is printed with a 200-pixel border around the page. To run this example successfully, add Printers to your uses clause.procedure TForm1.Button1Click(Sender: TObject);
    var
      r: TRect;
      i: Integer;
    begin
      with Printer do
        begin
          r := Rect(200,200,(Pagewidth - 200),(PageHeight - 200));
          BeginDoc;
          Canvas.Brush.Style := bsClear;
          for i := 0 to Memo1.Lines.Count do
           Canvas.TextOut(200,200 + (i *
                       Canvas.TextHeight(Memo1.Lines.Strings[i])),
                       Memo1.Lines.Strings[i]);      Canvas.Brush.Color := clBlack;
          Canvas.FrameRect(r);
          EndDoc;
        end;
    end;
    ===============================================================================From Delphi Help