Thema: Delphi Drucken im RichEdit

Einzelnen Beitrag anzeigen

Mr Whoopee

Registriert seit: 28. Jun 2004
73 Beiträge
 
#1

Drucken im RichEdit

  Alt 16. Aug 2004, 18:19
Mhm... wieder mal ein Problem...
Wie ich in einem RichEdit drucke ist mir klar.
Jedoch gibt es da ein Problem:
Ich habe dem RichEdit verschiedene Styles gegeben,
z.b.:
Musterman, Max
Tutor: Musterfrau
Schriftlicher Teil: 14
Allgemeiner Teil: 15

Erstmal bei uses printers;

Der Name ist halt FETT. Mit dem Code kann ich aber irgendwie nur 5 Zeilen oder so ausdrucken, sonst ist alles fein :
drucken.Print(drucken.Lines.Text);
Aber jeden Schüler einzeln auf ein Blatt papier zu packen ist kacke ^^


Und mit dem kann ich zwar alles Drucken, aber leider geht das Fettgeschriebene da verloren :
Delphi-Quellcode:
procedure TForm1.Drucklistedrucken1Click(Sender: TObject);
var
  Lines: Integer;
  LineHeight: Integer;
  ActMemoLine: Integer;
  Pages: Integer;
  PageLine: Integer;
begin
If drucken.Lines.Text<>'then begin
  Printer.BeginDoc;
  Printer.Canvas.Font.Name := drucken.Font.Name;
  Printer.Canvas.Font.Size := drucken.Font.Size;
  Lines := Printer.PageHeight div Printer.Canvas.TextHeight('Dummy');
  LineHeight := Printer.Canvas.TextHeight('Dummy');
  ActMemoLine := 0;
  for Pages := 1 to (drucken.Lines.Count div Lines) + 1 do
  begin
    for PageLine := 0 to Lines - 1 do
    begin
      if ActMemoLine < drucken.Lines.Count then
      begin
        Printer.Canvas.TextOut(20, PageLine *
         LineHeight, drucken.Lines[ActMemoLine]);
      end else
      begin
        Printer.EndDoc;
        exit;
      end;
      Inc(ActMemoLine);
    end;
    if ActMemoLine < drucken.Lines.Count then
      Printer.NewPage;
  end;
  Printer.EndDoc;
  end
else MessageBox(Handle, PChar('Die Druckliste ist leer.'+#10#13+'Drucken verweigert.'), PChar('Fehler'), $00000010);
end;
Naja, ich hoffe Ihr habt verstanden, was ich meine




Whoopee
  Mit Zitat antworten Zitat