TRVStyle.OnDrawPageBreak

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

TRVStyle.OnDrawPageBreak

Происходит при рисовании разрыва страницы.

property OnDrawPageBreak: TRVDrawPageBreakEvent;

VCL и LCL:

type

  TRVPageBreakType = (rvpbSoftPageBreak, rvpbPageBreak);

 

  TRVDrawPageBreakEvent =

    procedure (Sender: TRVStyle;

      ACanvas: TCanvas;

      Y, XShift: TRVCoord;

      PageBreakType: TRVPageBreakType;

      Control: TControl;

      var DoDefault: Boolean) of object;

FireMonkey:

type

  TRVPageBreakType = (rvpbSoftPageBreak, rvpbPageBreak);

 

  TRVDrawPageBreakEvent =

    procedure (Sender: TRVStyle;

      ACanvas: TRVFMXCanvas;

      Y, XShift: TRVCoord;

      PageBreakType: TRVPageBreakType;

      Control: TControl;

      var DoDefault: Boolean) of object;

Это событие можно использовать для нестандартного рисования разрывов страницы.

Событие происходит только в том случае, если опция rvoShowPageBreaks включена в TCustomRichView(Control).Options.

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

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

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

PageBreakType – тип разрыва страницы (автоматический или установленный пользователем).

Y – вертикальная координата разрыва страницы в окне TRichView.

XShift – величина горизонтальной прокрутки компонента TRichView (>= 0).

Control – компонент TRichView.

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

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

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

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

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

DoDefault – установите в False, чтобы отменить стандартное рисование. Стандартная процедура рисует горизонтальную линию с эффектом загнутого уголка страницы. Цвет линии задаётся свойством PageBreakColor или SoftPageBreakColor в зависимости от значения PageBreakType.

 

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

Например:

uses ..., CRVFData;

...

var ParaNo: Integer;

begin

  ParaNo := TCustomRVFormattedData(Sender.RVData).GetItemPara(

    Sender.ItemNo));

  ...

end

 

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

PageBreakColor;

SoftPageBreakColor.

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

PageBreaksBeforeItem.

См. также методы TCustomRichView:

AssignSoftPageBreaks.

См. также методы TCustomRichViewEdit:

InsertPageBreak;

RemoveCurrentPageBreak.

См. также свойства таблицы:

PrintOptions.

См. также свойства строки таблицы:

PageBreakBefore.

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

Demos\*\Assorted\Custom Draw\CustomDraw\