Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi richedit formatieren (https://www.delphipraxis.net/66136-richedit-formatieren.html)

S.pas.s 16. Aug 2011 13:38

AW: richedit formatieren
 
Ich fands interessant und solange es Google findet, ist es für andere auch wertvoll.

Ich habs ausprobiert und fand, nachdem ich mich gefragt hatte, wozu das

"RichEdit1.ClearSelection;"

eigentlich da ist, dass es gar nicht nötig ist. Der Code geht genauso:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  RichEdit1.SelAttributes.Color := clRed;
  RichEdit1.SelText := 'Text rot ';

  RichEdit1.SelAttributes.Color := clBlue;
  RichEdit1.SelText := 'Text blau ';

  RichEdit1.SelAttributes.Color := clGreen;
  RichEdit1.SelText := 'Text schwarz';

  RichEdit1.Lines.Append('');

  RichEdit1.SelAttributes.Color := clBlack;
  RichEdit1.SelAttributes.Style := [fsBold];
  RichEdit1.SelText := 'Text FETT';

  RichEdit1.SelAttributes.Color := clMaroon;
  RichEdit1.SelAttributes.Style := [fsUnderline];
  RichEdit1.SelText := ' ENDE';

  RichEdit1.Lines.Append('');
end;

DieFliege 6. Aug 2013 17:44

AW: richedit formatieren
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo Delphi-PRAXIS-Gemeinde,

auch wenn dieses Thema schon ein paar Tage alt ist, habe ich ein Problem, was hierzu passt:

Mein Ziel:

Ich möchte ein Dokument per Delphi erstellen, was ich in einer RTF-Datei speichern und später wieder aufrufen/bearbeiten kann. Dazu verwende ich RichEdit. Die Speicherung und Öffnung stellt kein Problem dar. Das Dokument soll aber ein bestimmtes Layout haben, welches ich mit Labels & Edit ergänzen möchte. Auch hier ist soweit kein Problem.

Nun möchte ich aber im RichEdit selbst den Text noch formatieren können. Auch dies stellt eigentlich kein Problem dar, solang ich nicht das erste Wort in der RichText-Box formatiere. Sobald ich dies mache, werden auch die Texte aus den Edit & Labels entsprechend formatiert. Ich vermute, ich habe irgendwo nur einen kleinen Denkfehler, leider finde ich ihn nicht :-(

Zum besseren Verständnis habe ich einmal Screenshots und den Quelltext dazu angefügt.

Über etwas Hilfe wäre ich sehr dankbar.

LG Micha



Hier der Quelltext zum Speichern:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
    RichEdit1.Lines.BeginUpdate;
    RichEdit1.Lines.Insert(0, Label1.Caption + ' ' + Edit1.Text);
    RichEdit1.Lines.Insert(1, Label2.Caption + ' ' + Edit2.Text);
    RichEdit1.Lines.Insert(2, '');
    RichEdit1.Lines.SaveToFile('D:\richedit-datei.rtf');
    RichEdit1.Lines.EndUpdate;
end;

So formatiere ich den Text im RichEdit:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
    RichEdit1.SelAttributes.Style := [fsBold];

end;

Volker Z. 6. Aug 2013 20:02

AW: richedit formatieren
 
Hallo,

ich weiß nicht, ob ich Dein Problem richtig verstanden habe; Du kannst es mal so versuchen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  try
    RichEdit1.Lines.BeginUpdate;
    RichEdit1.SelStart := 0;
    RichEdit1.SelAttributes.Style := [];
    RichEdit1.SelText := sLineBreak;
    RichEdit1.Lines.Insert(0, Label1.Caption + ' ' + Edit1.Text);
    RichEdit1.Lines.Insert(1, Label2.Caption + ' ' + Edit2.Text);
    RichEdit1.Lines.SaveToFile('D:\richedit-datei.rtf');
  finally
    RichEdit1.Lines.EndUpdate
  end
end;
Gruß

DieFliege 6. Aug 2013 20:38

AW: richedit formatieren
 
Hallo Volker,

vielen Dank für Deine Hilfe! Nun funktioniert es wie es soll. Nun muss ich nur noch verstehen, was genau da passiert, aber dafür gibts die Hilfe und das Internet ^^

Dir noch einen schönen Abend.

LG Micha :-)

Volker Z. 6. Aug 2013 22:35

AW: richedit formatieren
 
Hallo,

Zitat:

[....] Nun muss ich nur noch verstehen, was genau da passiert, aber dafür gibts die Hilfe und das Internet ^^
Na, das nenn ich doch mal 'ne löbliche Einstellung! Wenn 's trotzdem noch Fragen gibt, Du weißt ja: DP hilft.
Zitat:

Dir noch einen schönen Abend.
Auch wenn es jetzt schon fast vorbei ist: Dir auch.

Gruß


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

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