Hallo Peter,
Danke für Deine Bemühungen.
Zwischenzeitlich habe ich auch ein wenig gebastelt, und Dank Delphi eine sehr kurze und einfache Möglichkeit gefunden. Das Geheimnis liegt darin, das man immer einen "Header" und einen "Body" (der den eigentlichen RTF-Text mit Formatierungssprache beinhaltet) beim einfügen angibt.
Ich habe auch ChatGPT dazu befragt, bekam aber 99.8 Prozent nur Schrott.
Von daher habe ich mich mal selber drann gesetzt und probiert.
Den Code dazu ist in der Box zu finden:
Delphi-Quellcode:
procedure InsertTextToRTF(RichEdit: TJvRichEdit; Body:
String);
var
Header:
String;
begin
// set header
Header := '
{\rtf1\ansi\deff0{\fonttbl{\f0 Arial;}}';
Body := '
This is \b bold\b0 and \i italic\i0 text.';
RichEdit.PlainText := false;
// ensure rtf-format settings on
RichEdit.Lines.BeginUpdate;
try
with RichEdit
do
begin
SelText := Header + Body;
// insert body
end;
finally
RichEdit.Lines.EndUpdate;
end;
end;
Der gezeigte Code fügt (vor)formatierten Text innerhalb einer RichEdit Komponente ab SelStart mittels SelText ein.
Viel Spaß mit ChatGPT :->