![]() |
Drucken im RichEdit
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:
Naja, ich hoffe Ihr habt verstanden, was ich meine :D
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; Whoopee |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz