![]() |
RichEdit mit Font und Position drucken
Hallo,
Ich habe einen Text in RichEdit1 und möchte es ungefähr zentriert auf dem Blatt drucken. Dabei soll der Text mit einer ausgewählten Font drucken. Wie kann ich das machen? Ich hatte dabei an die unit "printers" gedacht. Da habe ich beide Probleme nicht mehr. Font kann man einfach übertragen und da kann man X- und Y-Achse auf dem Blatt bestimmen. Nur wie jetzt habe ich noch folgendes Problem:
Delphi-Quellcode:
Was mache ich jetzt bei X? Der Text soll ja auch so ausgedruckt werden, wie ich ihn sehe im Programm, d.h. mit Zeilenumbrüchen (auch unfreiwillige zB wegen nicht ausreichender Breite des RichEdits im Programm).
Printer.Canvas.TextOut(50,300,RichEdit1.X); // X: Ja und was nun?
|
Re: RichEdit mit Font und Position drucken
Sind im Richedit Rtf-Formatierungen vorhanden/sollen diese auch berücksichtigt werden?
|
Re: RichEdit mit Font und Position drucken
RTF? :gruebel:
Also ich weiß gar nicht was das ist, aber ich habe auch noch nie etwas mit RTF in meinem RichEdit gesehen. |
Re: RichEdit mit Font und Position drucken
Moin Amo,
RTF = Rich Text Format Ein TRichEdit hat seinen Namen daher, dass es ein Control kapselt, dass RTF-Formatierungen (z.B. Farbe, Schriftart ...) verwenden kann. (auch wenn in einem TRichEdit nicht alle möglichen implementiert wurden) Wenn Du nicht gerade die Eigenschaft PlainText auf true gestellt hast, kannst Du Dir ja mal eine Datei, die Du mit RichEdit1.Lines.SaveToFile gespeichert hast im Notepad anschauen. |
Re: RichEdit mit Font und Position drucken
Ok, gut.
Und wie mache ich das jetzt mit dem drucken? |
Re: RichEdit mit Font und Position drucken
Moin Amo,
hast Du es schon einmal mit RichEdit.Print versucht? |
Re: RichEdit mit Font und Position drucken
dann kann ich aber nicht die position auf dem blatt bestimmen, oder es ist dann verdammt schwer.
War da nicht eine möglichkeit, wenn ich das über printer.canvas mache, es mit delimited text zu machen? wie kann ich denn zB als delimiter einen zeilenumbruch nehmen? |
Re: RichEdit mit Font und Position drucken
Du hast doch die Enterprise-Edition. Schau mal in die Unit ComCtrls.pas und dort in die Funktion TCustomRichEdit.Print - Diese Funktion kannst du `nachprogrammieren´.
Das dort benutzte Rechteck "rc" stammt aus der Struktur "Range: TFormatRange". Dort kannst du ein Rechteck angeben, in dass der Inhalt beim Ausdruck eingepasst werden soll. Wenn der Text zentriert sein soll, dann muss er auch im RichEdit-Control schon zentriert sein. |
Re: RichEdit mit Font und Position drucken
Ich habe mir das angeguckt aber ich komme schon beim "nachprogrammieren" nicht weiter. :pale:
Ich bin sicher, dass du die lösung gefunden hast, die ich brauche. Aber ich komme nicht ganz klar. Die Kompo CustomRichEdit ist ja nicht in der Palette mit den anderen. Ich bräuchte da noch ein wenig hilfe. |
Re: RichEdit mit Font und Position drucken
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:10 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