TCustomRichViewEdit.OnDrawCustomCaret [VCL и LCL]

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

TCustomRichViewEdit.OnDrawCustomCaret [VCL и LCL]

Позволяет нарисовать нестандартную каретку.

type

  TRVDrawCustomCaretEvent = procedure (Sender: TCustomRichViewEdit;

    Canvas: TCanvas; const Rect: TRVCoordRectof object;

property OnDrawCustomCaret: TRVDrawCustomCaretEvent;

Нестандартная каретка рисуется, если CustomCaretInterval>0.

Событие OnMeasureCustomCaret вызывается перед каждым вызовом этого события.

Пример

Этот пример рисует каретку в виде прямоугольника/эллипса. В сочетании с примером из раздела OnMeasureCustomCaret он рисует прямоугольник/эллипс вокруг символа справа от каретки.

procedure TMyForm.MyRichViewEditDrawCustomCaret(

  Sender: TCustomRichViewEdit;

  Canvas: TCanvas; const Rect: TRVCoordRect);

const

  f: Boolean=True;

var

  r: TRVCoordRect;

begin

  if f then

    Canvas.Pen.Color := clRed

  else

    Canvas.Pen.Color := clBlue;

  f := not f;

  r := Rect;

  Canvas.Brush.Style := bsClear;

  if f then

    Canvas.Rectangle(r)

  else

    Canvas.Ellipse(r);

end;