Einzelnen Beitrag anzeigen

Benutzerbild von thbi
thbi

Registriert seit: 2. Sep 2005
Ort: Augsburg
22 Beiträge
 
Delphi 7 Personal
 
#26

Re: Absätze in RichEdit nicht drucken!!

  Alt 12. Okt 2005, 16:38
Also des ist noch mein Code ohne Änderung von heute Früh aber des hat ja keinen einfluss auf den Quellcode!


Wird in die RichEdit geladen:
Delphi-Quellcode:
 var b: Integer;

begin
  RichEdit1.PlainText := True;

 RichEdit1.SelAttributes.Style:=[];
 for b:=0 to Form1.ListView1.Items.Count-1 do
  begin
     RichEdit1.SelAttributes.Size:=12;
    RichEdit1.Lines.Add(Form1.ListView1.Items.Item[b].Caption + ' ' + Form1.ListView1.Items.Item[b].SubItems.Strings[0] + ' ' + Form1.ListView1.Items.Item[b].SubItems.Strings[1] +' ' + Form1.ListView1.Items.Item[b].SubItems.Strings[2] +' / ' + Form1.ListView1.Items.Item[b].SubItems.Strings[3]);
    RichEdit1.Lines.Add (#13 + #10);
  end;

 if CheckBox1.Checked=True then RichEdit1.Lines.Add(Edit1.Text);

end;


Code zum drucken:
Delphi-Quellcode:
var sl : TStrings;
    breite,hoehe,x,y,randlinks,randoben,zeile : integer;

begin
sl := RichEdit1.Lines;
  if Form1.PrintDialog1.Execute then
    begin
    Printer.BeginDoc; //Druckjob beginnen
    //Blattgröße in 1/10 mm ermitteln:
    breite:=GetDeviceCaps(Printer.Canvas.Handle, HORZSIZE)*10;
    hoehe:=GetDeviceCaps(Printer.Canvas.Handle, VERTSIZE)*10;
    randlinks:=200; //2,0 cm
    randoben:=200; //2,0 cm
    x:=randlinks;
    y:=randoben*-1;
    SetMapMode(Printer.Canvas.Handle, MM_LOMETRIC); //Umstellen auf 1/10 mm
    for zeile:=0 to sl.Count-1 do
      begin
      if -y>(hoehe-2*randoben) then
        begin
        y:=randoben*-1;
        Printer.NewPage;
        end;
      Printer.Canvas.Font.Name:='Courier New';
      Printer.Canvas.Brush.Color:=clWhite;
      Printer.Canvas.Font.Height:=70; //10 mm
      if y=-randoben then
        begin
        Printer.Canvas.Font.Style:=[fsbold];
        Printer.Canvas.TextOut(x + 100, y , 'Miniplan ' + 'von ' + Form2.Edit2.Text + ' bis ' + Form2.Edit3.Text);
        Printer.Canvas.Font.Style:=[];
        y:=y-Printer.Canvas.TextHeight(sl[zeile]);
        end;
      Printer.Canvas.Font.Height:=50;
      Printer.Canvas.TextOut(x, y, sl[zeile]);
      y:=y-Printer.Canvas.TextHeight(sl[zeile]);
      end;
    Printer.EndDoc;
 end;
 Close;

end;
Hoffe das irgendwas findes was man noch umstellen muss!

Mfg thbi
"Was ich kann? - Ich kann von jedem soviel, dass ich sagen kann, ich kann alles, ohne irgendwas zu können."
  Mit Zitat antworten Zitat