![]() |
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:
ich hoffe mal ihr könnt mir helfen.
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; MfG BastardOp |
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 |
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. |
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 ![]() Grüße vom marabu |
Re: Richedit mit formatierten text füllen und drucken
Hallo
versuch mal mit RichEdit1.PageRect den Rand bzw. Druckbereich einzustellen. Gruß Stefan |
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 |
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. |
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 |
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 |
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:
Ganz zum Schluß läuft wahrscheinlich alles darauf hinaus, dass du besser den WebBrowser anstelle vom RichEdit verwendest und HTML anstelle von RTF...
procedure TRichForm.BoldButtonClick(Sender: TObject);
begin with RichEdit.SelAttributes do Style := Style + [fsBold]; end; marabu |
Re: Richedit mit formatierten text füllen und drucken
Ich hab ein ähnliches Problem:
Ich will über Programmcode dem RichEdit eine neue Zeile zufügen, die dann z.B.: so aussehen soll: 'Dies ist eine Testzeile' Ich habs damit probiert:
Delphi-Quellcode:
Im Beispiel ist edit1.text='Dies ist /c1eine /c0Testzeile' und das 'eine' sollte eigentlich blau dargestellt werden, wirds aber nicht.
procedure TForm1.Button1Click(Sender: TObject);
Var iLoop: Integer; iSection: Integer; begin iLoop:=1; iSection:=1; While iLoop <= Length(Edit1.Text) Do Begin If Edit1.Text[iLoop]='/' Then Begin Inc(iLoop);//eat / If Edit1.Text[iLoop]='c' //color Then Begin Inc(iLoop);//eat c If Edit1.Text[iLoop]='1' Then RichEdit1.SelAttributes.Color:=clBlue Else If Edit1.Text[iLoop]='0' Then RichEdit1.SelAttributes.Color:=clBlack; Inc(iLoop); //eat number End; End; RichEdit1.Text:=RichEdit1.Text+Edit1.Text[iLoop]; Inc(iLoop); End; end; Das Problem ist wohl,dass sobald man RichEdit1.Text aufruft, der gesamte Text alle Formatierungen verliert(das gleiche gilt für RichEdit1.Lines[index]). |
Re: Richedit mit formatierten text füllen und drucken
!!!!!!!!EUREKA!!!!!!!!!!!
das Tauschen dieser Zeile:
Delphi-Quellcode:
mit dieser Zeile:
RichEdit1.Text:=RichEdit1.Text+Edit1.Text[iLoop];
Delphi-Quellcode:
funktioniert!
RichEdit1.SelText:=Edit1.Text[iLoop];
@BastardOp: hier kannst Du auch deine Variablen einfügen:
Delphi-Quellcode:
wenn nix markiert ist, fügt er den SelText hinten an.
RichEdit1.SelText:=MyStringVar;
|
Re: Richedit mit formatierten text füllen und drucken
Hallo,
Zitat:
![]() |
Re: Richedit mit formatierten text füllen und drucken
also irgendwei werd ich aus euren antworten nicht schlau. Ich habe einfach einen text den ich meintewegen auch als rtf speicher und diese möchte ich erstmal ins Richedit einfügen. Dabei sollen die formatierungen die ich vorher angegeben habe beibehalten werden, wenn ich dann in dem text stellen durch zeichen wie & makieren sollen diese später durch variablen ertsezte werden.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:55 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 by Thomas Breitkreuz