Thema: Delphi Drucken aus dem Richedit

Einzelnen Beitrag anzeigen

Casy1986

Registriert seit: 13. Okt 2007
Ort: Friolzheim
1 Beiträge
 
#1

Drucken aus dem Richedit

  Alt 21. Okt 2007, 10:55
also mein code in Delphi habe ich von dsdt bissle angepasst.... nur meckert er mir rum beim Priner... das er undefeniert ist...

Code:
procedure TForm1.Drucken1Click(Sender: TObject);
var zeile, x, y: integer;
    breite, hoehe, randlinks, randoben: integer;
begin

  if PrintDialog1.Execute then begin
    Printer.BeginDoc; //Druckjob beginnen
    SetMapMode(Printer.Canvas.Handle, MM_LOMETRIC); //Umstellen auf 1/10 mm

    //Schrift-Einstellungen:
    Printer.Canvas.Font.Name:='Courier New';
    Printer.Canvas.Brush.Color:=clWhite;
    Printer.Canvas.Font.Height:=50; //5 mm

    //Blattgöße in 1/10 mm ermitteln:
    breite:=GetDeviceCaps(Printer.Canvas.Handle, HORZSIZE)*10;
    hoehe:=GetDeviceCaps(Printer.Canvas.Handle, VERTSIZE)*10;

    randlinks:=250; //2,5 cm
    randoben:=250; //2,5 cm

    x:=randlinks;
    y:=randoben*-1;

    for zeile:=0 to sl.Count-1 do begin

      if -y>(hoehe-2*randoben) then begin
        y:=randoben*-1;
        Printer.NewPage;
      end;

      if y=-randoben then begin
        Printer.Canvas.Font.Style:=[fsbold];
        Printer.Canvas.TextOut(x, y, 'Seite '+
        IntToStr(Printer.PageNumber));
        Printer.Canvas.Font.Style:=[];
        y:=y-Printer.Canvas.TextHeight(sl[zeile]);
      end;

      Printer.Canvas.TextOut(x, y, sl[zeile]);

      y:=y-Printer.Canvas.TextHeight(sl[zeile]);

    end;
    Printer.EndDoc;
  end;
end;
  Mit Zitat antworten Zitat