TCustomRichViewEdit.OnDrawCurrentLine

<< Нажмите, чтобы показать Содержание >>

TCustomRichViewEdit.OnDrawCurrentLine

Позволяет визуально выделить текущую строку (то есть строку, содержащую каретку).

VCL и LCL:

  TRVDrawCurrentLineEvent = procedure(Sender: TCustomRichViewEdit;
    ACanvas: TCanvas; ARVData: TCustomRVFormattedData;
    AStartItemNo, AStartOffs, AEndItemNo, AEndOffs: Integer;
    const ARect: TRVCoordRect; APrepaint: Boolean) of object;
property OnDrawCurrentLine: TRVDrawCurrentLineEvent;

FMX:

  TRVDrawCurrentLineEvent = procedure(Sender: TCustomRichViewEdit;
    ACanvas: TRVFMXCanvas; ARVData: TCustomRVFormattedData;
    AStartItemNo, AStartOffs, AEndItemNo, AEndOffs: Integer;
    const ARect: TRVCoordRect; APrepaint: Boolean) of object;

 

property OnDrawCurrentLine: TRVDrawCurrentLineEvent;

Параметры:

Canvas – канва для рисования.

ARVData – документ, содержащий текущую строку (Sender.RVData).

AStartItemNo – номер первого элемента в этой строке (в диапазоне от 0 до ARVData.ItemCount - 1).

AStartOffs – позиция начала строки в AStartItemNo (0 для нетекстового элемента; номер первого символа строки, начиная с 1, для текстового элемента).

AEndItemNo – номер последнего элемента в этой строке (в диапазоне от 0 до ARVData.ItemCount - 1).

AEndOffs – позиция конца строки в AEndItemNo (1 для нетекстового элемента; номер последнего символа строки + 1, начиная с 1, для текстового элемента).

ARect – прямоугольник, охватывающий эту строку.

APrepaintFalse, зарезервировано для использования в будущем. Это событие всегда вызывается после того, как всё остальное содержимое уже нарисовано.

Пример: выделение полупрозрачным жёлтым цветом.

procedure TForm1.RichViewEdit1DrawCurrentLine(

  Sender: TCustomRichViewEdit; ACanvas: TRVFMXCanvas; 

  ARVData: TCustomRVFormattedData; AStartItemNo,
  AStartOffs, AEndItemNo, AEndOffs: Integer; 

  const ARect: TRectF; APrepaint: Boolean);
begin

  if not Prepaint then
    Sender.Style.GraphicInterface.FillRectAlpha(

      ACanvas, ARect, rvclYellow, 50);
end;