Home » Tipps & Tricks » Komponenten » TRichEdit/TMemo/TEdit » RichEdit mit Seitenrändern drucken

RichEdit mit Seitenrändern drucken

Mit Hilfe folgenden Codes lässt sich der Inhalt einer TRichEdit-Komponente mit Seitenrändern ausdrucken. Zu beachten ist, dass der angegebene Seitenrand relativ zum Druckbereich gemessen wird, nicht zum physischen Papierrand.

procedure TForm1.Button1Click(Sender: TObject);
 var
   presX, presY: Integer;
   r: TRect;
begin
  with richedit1 do begin
    plaintext := true;
    lines.loadfromfile( changefileext( application.exename, '.DPR' ));
  end;
  presX := GetDeviceCaps( printer.handle, LOGPIXELSX );
  presY := GetDeviceCaps( printer.handle, LOGPIXELSY );
  with r do begin
    left := presX;  // 1 inch linker Rand
    top  := 3 * presY div 2;  // 1.5 inch oberer Rand
    right := Printer.PageWidth - 3 * presX div 4; // 0.75 inch right margin
    bottom := Printer.PageHeight - presY; // 1 inch unterer Rand
  end;
  with richedit1 do begin
    Pagerect := r;
    Print('Testjob');
  end;
end;