Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Drucken im RichEdit (https://www.delphipraxis.net/27861-drucken-im-richedit.html)

Mr Whoopee 16. Aug 2004 18:19


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:
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 :D




Whoopee


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz