![]() |
Beim Drucken eines richtext die Schriftgrösse vom Richtext
hi, ich bins nochmal, nachdem ein eines Problem jetzt behoben ist, stehe ich jetzt schon wider auf dem Schlauch :wall:
Ich habe einen Richtext, der in bestimmten zeilen eine andere Schriftgrösse hat, wie in anderen. Dies möchte ich jetzt aber 1 zu 1 zu Papier bringen, und nicht alles in 11 wie in meinem code Hier der Druck code, den ich verwände:
Delphi-Quellcode:
Wo muss ich jetzt zeilen löschen, und neue einfügen, damit er die schriftgrössen der zeilen übernimt?
procedure TForm3.Button1Click(Sender: TObject);
var Lines: Integer; LineHeight: Integer; ActMemoLine: Integer; Pages: Integer; PageLine: Integer; begin if PrintDialog1.Execute then begin Printer.BeginDoc; Printer.Canvas.Font.Name := 'Arial'; Printer.Canvas.Font.Size := 11; Lines := Printer.PageHeight div Printer.Canvas.TextHeight('Dummy'); LineHeight := Printer.Canvas.TextHeight('Dummy'); ActMemoLine := 0; for Pages := 1 to (RichEdit1.Lines.Count div Lines) + 1 do begin for PageLine := 0 to Lines - 1 do begin if ActMemoLine < RichEdit1.Lines.Count then begin Printer.Canvas.TextOut(150, PageLine * LineHeight + 150, Richedit1.Lines[ActMemoLine]); end else begin Printer.EndDoc; exit; end; Inc(ActMemoLine); end; if ActMemoLine < Richedit1.Lines.Count then Printer.NewPage; end; Printer.EndDoc; end; end; Danke im Voraus MfG Power-Poler |
Re: Beim Drucken eines richtext die Schriftgrösse vom Richte
Hallo!
1. Möchtest Du eine eigene Druckroutine erstellen? 2. Oder kennst du die Procedure "Print" von RichEdit noch nicht? Zu erstens: Hier must du jedes Wort eizeln selektieren und die zugehörigen Textattribute ermitteln. Zu zweitens: Hier reicht der Befehl
Delphi-Quellcode:
Wobei der RichEdit1 Inhalt auf dem aktuellen Systemdrucker ausgedruckt wird. Der Dokumentname wird in der Druckerwarteschlange angezeigt.
RichEdit1.Print('DokumentName');
Kann's das gewesen sein? Tschüsss! |
Re: Beim Drucken eines richtext die Schriftgrösse vom Richte
Danke, aber ich habe es jetzt anderes gelöst.
|
Re: Beim Drucken eines richtext die Schriftgrösse vom Richte
Dann wäre es doch schön, wenn du deinen Lösungsweg kurz zeigen würdest, falls andere mal das gleiche Problem haben sollten ;-)
|
Re: Beim Drucken eines richtext die Schriftgrösse vom Richte
Du wilst doch nur wisen, wie ich es gemacht habe, oder :wink:
Naja, ok:
Delphi-Quellcode:
3 Zeilen :mrgreen:
procedure TForm3.Button1Click(Sender: TObject);
begin richedit1.Lines.savetofile('Datei.txt'); if printdialog1.execute then richedit1.print('datei.txt'); end; |
Re: Beim Drucken eines richtext die Schriftgrösse vom Richte
Das ist ja die Lösung, die ulhau geschrieben hat.
Übrigens: Ich kenne die Methode "Print" vom RichEdit schon ;-) Habe nur gedacht, dass du für diejenigen, die das gleiche Problem haben, mal deine Lösung zeigst, weil du geschrieben hast Zitat:
Patti |
Re: Beim Drucken eines richtext die Schriftgrösse vom Richte
Jo, jetzt sehe ich es, aber die von ulhau habe ich nicht richtig verstanden, weil das save vornedran nicht war, und weil der filetyp gefehlt hat. Das er das gemeint hat, was ich später noch woanderes gefunden habe , habe ich garnicht gesehen. :oops:
|
Re: Beim Drucken eines richtext die Schriftgrösse vom Richte
Du musst übrigens die Datei nicht unbedingt vorher speichern. Und das "DokumentName" bei
Delphi-Quellcode:
ist kein Pfad zu einer Datei. Es handelt sich dabei um den Namen des Druckauftrages. Wenn du in die Warteschlange deines Druckers schaust, wo die ganzen aktuellen Druckaufträge aufgelistet sind, dann ist dies der Name, der dort angezeigt wird. Du musst also nicht speichern und als "DokumentName" kannst du irgendeinen Titel angeben ;-)
RichEdit1.Print('DokumentName');
Patti |
Re: Beim Drucken eines richtext die Schriftgrösse vom Richte
Achso, Danke, dann muss ich mich auch nicht mehr fragen, wo er dieses file dan hintut, und ob es irgewo als datenmüll rumgeistert :mrgreen:
|
Re: Beim Drucken eines richtext die Schriftgrösse vom Richte
Stimmt ;-) Datenmüll ist immer schlecht.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:28 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-2025 by Thomas Breitkreuz