Delphi-PRAXiS
Seite 1 von 2  1 2      

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 Richedit mit formatierten text füllen und drucken (https://www.delphipraxis.net/51176-richedit-mit-formatierten-text-fuellen-und-drucken.html)

BastardOp 7. Aug 2005 20:23


Richedit mit formatierten text füllen und drucken
 
Hallo

ich hab ein rich edit und möchte die auf Buttoclick mit formatierten text füllen. Also das gewissen text stellen farbig sind oder fet oder wie auch immer.
Diese formatierten text möchte ich nun auch noch drucken (das drucken an sich funzt schon) nur weiß ich nicht wie ich ein richedit mit formatiertem text füllen und mit diesen Formatierungen auch drucke.

Im mom drucke ich mit folgenen Code
Delphi-Quellcode:
procedure TForm1.Button6Click(Sender: TObject);
var
  i: Integer;
begin
IF printdialog1.Execute THEN
  with Printer do
    begin
      BeginDoc;
     WITH Printer.Canvas.Font DO
BEGIN
  Name := Richedit1.Font.Name;
  Size := Richedit1.Font.Size;
  Color :=Richedit1.Font.Color;
END;
      for i := 0 to Memo1.Lines.Count do
Canvas.TextOut(200,200 + (i *Canvas.TextHeight(Richedit1.Lines.Strings[i])),Richedit1.Lines.Strings[i]);

      EndDoc;
    end;
end;
ich hoffe mal ihr könnt mir helfen.

MfG
BastardOp

marabu 7. Aug 2005 20:49

Re: Richedit mit formatierten text füllen und drucken
 
Wenn du eh einen eigenen print job für die Ausgabe deines Textes aufmachst, dann könntest du auch die Methode Print der Komponente TRichEdit aufrufen.

marabu

BastardOp 7. Aug 2005 20:56

Re: Richedit mit formatierten text füllen und drucken
 
wenn ich richedit1.print(''); verwende habe ich aber keinen Rand und es passt nich der gesamte text auf die Seite.
Das drucken funzt mit dieser methode ja schon schon. Aber ich weiß halt nicht wie ich das richedit mit formatierten text füllen und mit diesen formatierungen auch drucke. oder kann ich mit der print methode vom roch edit die formatierungen mit drucken? wenn ja wie kann ich da den rand einstellen.

marabu 8. Aug 2005 07:55

Re: Richedit mit formatierten text füllen und drucken
 
Liste der Anhänge anzeigen (Anzahl: 1)
Wenn du RichEdit.Print() verwendest, dann wird dein Text mit allen Auszeichnungen gedruckt und auch über mehrere Seiten korrekt umgebrochen. Für das interaktive Auszeichnen deines Textes existiert - zumindest in meiner D7 Installation - ein Demo-Projekt namens RICHEDIT. Alternativ kannst du mit einem RTF-Editor formatierte Texte laden.

Die print margins setze ich mit einem Code von Chris Bray.

Grüße vom marabu

alf.stefan 8. Aug 2005 08:13

Re: Richedit mit formatierten text füllen und drucken
 
Hallo

versuch mal mit RichEdit1.PageRect den Rand bzw. Druckbereich einzustellen.

Gruß

Stefan

marabu 8. Aug 2005 08:27

Re: Richedit mit formatierten text füllen und drucken
 
Hallo Stefan,

vielen Dank für den Hinweis. Genau so wird das im angehängten Beispiel-Code gemacht.

marabu

BastardOp 8. Aug 2005 14:14

Re: Richedit mit formatierten text füllen und drucken
 
Hi
dickes thx der code funzt nach bissel rumprobieren bestens in meinem Projekt. Allerdings weiß ich immer noch nicht wie ich meine Rich edit mit einem vordefiniertem formatiertem text füllen, in dem auch zur laufzeit fesgelegte variablen füllen kann. ich hoffe da weiß auch wer etwas.

marabu 8. Aug 2005 14:27

Re: Richedit mit formatierten text füllen und drucken
 
Ich bemühe mich, aber dein offenes Problem verstehe ich wohl nicht so recht. Da existieren RTF-Dokumente, die du anzeigen möchtest und in denen an bestimmten Stellen der Inhalt von Programmvariablen eingesetzt werden soll?

marabu

BastardOp 8. Aug 2005 14:34

Re: Richedit mit formatierten text füllen und drucken
 
also ich weiß wie ich einem rich edit über den OE einen standart text geben kann und ich kann halt wenn das proggie läuft text ins feld eingeben.
Aber ich möchte nun text in dem gewisse stellen fet oderr größer sind und in dem Variablen vorkommen. Aber ich weiß nicht wie ich diese automatisch im richedit laden kann.als rtf-datei habe ich es momantan nicht da ich nichtz weiß ob ich da drin varibalen verwenden kann

marabu 8. Aug 2005 14:52

Re: Richedit mit formatierten text füllen und drucken
 
Hast du dir schon die Demo angesehen, von der ich in meinem Posting heute morgen um 08:55 geschrieben habe? Kurzfassung: Gib etwas Text in dein RichEdit ein, markiere eine beliebige Zeichenkette und führe über einen Button folgenden Code aus, dann hast du deinen Text fett ausgezeichnet. Das mit den Variablen müsstest du noch besser erklären.

Delphi-Quellcode:
procedure TRichForm.BoldButtonClick(Sender: TObject);
begin
  with RichEdit.SelAttributes do
    Style := Style + [fsBold];
end;
Ganz zum Schluß läuft wahrscheinlich alles darauf hinaus, dass du besser den WebBrowser anstelle vom RichEdit verwendest und HTML anstelle von RTF...

marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:07 Uhr.
Seite 1 von 2  1 2      

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