TRVStyle.OnDrawTextBack

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

TRVStyle.OnDrawTextBack

Вызывается при рисовании фона текстового элемента, имеющего стиль текста с номером StyleNo.

property OnDrawTextBack: TRVDrawTextBackEvent;

VCL и LCL:

type

  TRVDrawTextBackEvent =

    procedure (Sender: TRVStyle; ACanvas: TCanvas;

      StyleNo: Integer; ALeft, ATop, AWidth, AHeight: TRVCoord;

      DrawState: TRVTextDrawStates;

      var DoDefault: Boolean) of object;

FireMonkey:

type

  TRVDrawTextBackEvent =

    procedure (Sender: TRVStyle; ACanvas: TRVFMXCanvas;

      StyleNo: Integer; ALeft, ATop, AWidth, AHeight: TRVCoord;

      DrawState: TRVTextDrawStates;

      var DoDefault: Boolean) of object;

Это событие можно использовать для изменения рисования фона текста для некоторых или всех текстовых стилей.

В отличие от OnDrawStyleText, это событие вызывается только один раз для каждого рисуемого элемента (OnDrawStyleText может вызываться несколько раз, если часть текстового элемента выделена).

Входные параметры:

Sender – компонент TRVStyle, вызвавший событие.

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

StyleNo номер элемента в коллекции стилей текста TextStyles.

Left, Top, Width, Height координаты прямоугольника, по которым следует рисовать.

DrawState может включать rvtsControlFocused и rvtsHover, см. TRVTextDrawStates.

DoDefault имеет значение True.

«Скрытые» входные параметры:

Sender.RVData: TPersistent – документ, в котором находится этот элемент. Перед использованием его следует привести к типу TCustomRVFormattedData.

Sender.ItemNo: Integer – номер элемента в Sender.RVData.

Используя эти параметры, можно получить дополнительную информацию об элементе.

Например:

uses ..., CRVFData;

...

var ItemTag: TRVTag;

...

ItemTag := TCustomRVFormattedData(Sender.RVData).GetItemTag(

  Sender.ItemNo));

 

Выходные параметры:

DoDefault – установите в False, чтобы отменить стандартное рисование. Это поддерживается только если TextBackgroundKind<>rvtbkSimple.

 

См. также события:

OnDrawStyleText

OnApplyStyle;

OnApplyStyleColor;

См. также свойства:

TextStyles.

Демонстрационные проекты:

Demos\*\Assorted\Custom Draw\