С помощью данной функции я веду подсчёт всего содержимого RichViewEdit
function GetCharCount(RVData: TCustomRVData): Integer;
var
i, r, c: Integer;
table: TRVTableItemInfo;
begin
Result := 0;
for i := 0 to RVData.Items.Count - 1 do
if RVData.GetItemStyle(i) >= 0 then
begin
inc(Result, RVData.ItemLength(i));
end
else
if RVData.GetItemStyle(i) = rvsTab then
inc(Result)
else
if RVData.GetItemStyle(i) = rvsTable then
begin
table := TRVTableItemInfo(RVData.GetItem(i));
for r := 0 to table.Rows.Count - 1 do
for c := 0 to table.Rows[r].Count - 1 do
if table.Cells[r, c] <> nil then
inc(Result, GetCharCount(table.Cells[r, c].GetRVData));
end;
end;
Вот так я вывожу количество символов в Caption панели
r := GetCharCount(RichViewEdit1.RVData);
Panel1.Caption := IntToStr(r);
Минус функции в том, что она не подсчитывает количество символов занимаемое при переводе каретки на новую строку с помощью Ctrl + Enter. Прошу помощи для испраления данной проблемы.