Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi RichEdit mit Font und Position drucken (https://www.delphipraxis.net/63417-richedit-mit-font-und-position-drucken.html)

Amo 18. Feb 2006 14:21


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:
Printer.Canvas.TextOut(50,300,RichEdit1.X); // X: Ja und was nun?
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).

Khabarakh 18. Feb 2006 14:26

Re: RichEdit mit Font und Position drucken
 
Sind im Richedit Rtf-Formatierungen vorhanden/sollen diese auch berücksichtigt werden?

Amo 18. Feb 2006 14:31

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.

Christian Seehase 18. Feb 2006 14:50

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.

Amo 18. Feb 2006 14:55

Re: RichEdit mit Font und Position drucken
 
Ok, gut.
Und wie mache ich das jetzt mit dem drucken?

Christian Seehase 18. Feb 2006 14:58

Re: RichEdit mit Font und Position drucken
 
Moin Amo,

hast Du es schon einmal mit RichEdit.Print versucht?

Amo 18. Feb 2006 15:02

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?

Flocke 18. Feb 2006 19:02

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.

Amo 19. Feb 2006 10:00

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.

marabu 19. Feb 2006 10:54

Re: RichEdit mit Font und Position drucken
 
Hallo Amo,

vielleicht hilft dir dieser Beitrag ein wenig weiter: klick

Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:49 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