Yes, there is only one documented method allowing to add content at the specified place in TRichView: InsertRVFFromStream.
Using undocumented methods, you can insert text item at the specified position using this code:
Code: Select all
use RVItem;
procedure InsertText(rv: TCustomRichView; ItemNo: Integer; const s: String; StyleNo, ParaNo: Integer);
var item: TRVTextItemInfo;
begin
item := RichViewTextItemClass.Create(RVData);
item.StyleNo := StyleNo;
item.ParaNo := ParaNo;
item.Inserting(rv.RVData, s, False);
rv.RVData.Items.InsertObject(ItemNo, s, item);
item.Inserted(rv.RVData, ItemNo);
end;
Using to insert at the beginning:
InsertText(RichView1, 0, 'Title', StyleNo, ParaNo);
This code assumes that rv.Style.TextStyles[StyleNo].Unicode = False. If you need code for Unicode text, let me know.