TRVSidenoteItemInfo

Свойства   Методы

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

TRVSidenoteItemInfo

Свойства   Методы

TRVSidenoteItemInfo – это класс, представляющий cноску в текстовом блоке в документе ТРВ-Редактора. Это не компонент. Объекты этого класса создаются в коде и добавляются в компонент TRichView (см. AddItem) или вставляются в компонент TRichViewEdit (см. InsertItem). Тип (стиль) этого типа элемента: rvsSidenote (-206).

Модуль [VCL/FMX] RVSidenote / fmxRVSidenote.

Синтаксис

TRVSidenoteItemInfo = class(TCustomRVNoteItemInfo)

Иерархия

TObject

TPersistent

TCustomRVItemInfo

TRVNonTextItemInfo

TRVRectItemInfo

TRVLabelItemInfo

TRVSeqItemInfo

TCustomRVNoteItemInfo

Использование

Тип нумерации сносок в рамке задаётся свойством SidenoteNumbering компонента TRVStyle (свойство NumberType, унаследованное от TRVSeqItemInfo, игнорируется).

Перебрать все такие сноски в документе можно с помощью функций RVGetFirstSidenote и RVGetNextSidenote.

Для присваивания свойства TextStyleNo в вызове конструктора используйте функцию RVGetNoteTextStyleNo.

В этом классе объявлены следующие новые свойства:

BoxPosition – свойства, задающие положение текстового блока, в котором показываются документ сноски;

BoxProperties – свойства, задающие размер, фон и рамку текстового блока.

Чтобы изменять свойства этого элемента операциями редактирования, используйте SetCurrentItemExtraIntPropertyEx и SetCurrentItemExtraStrPropertyEx.

Пример

В этом примере в rveMain (TCustomRichViewEdit) вставляется новая сноска. Значение TextStyleNo для неё возвращается функцией RVGetNoteTextStyleNo на основе текущего стиля текста (с номером rveMain.CurTextStyleNo).

Документ (Document) этой сноски содержит одну ссылку на неё (её TextStyleNo возвращается функцией RVGetNoteTextStyleNo на основе стиля с номером 0) и один символ пробела со стилем 0.

Текстовый блок для этой сноски имеет жёлтый фон и двойную рамку, и расположен на 50 пикселей ниже верхней границы строки текста, в которую вставлена сноска.

var

  SideNote: TRVSidenoteItemInfo;

  NoteRef: TRVNoteReferenceItemInfo;

begin

  SideNote := TRVSidenoteItemInfo.CreateEx(rveMain.RVData,

    RVGetNoteTextStyleNo(rvs, rveMain.CurTextStyleNo), 1, False);

  NoteRef := TRVNoteReferenceItemInfo.CreateEx(SideNote.Document,

    RVGetNoteTextStyleNo(rveMain.Style,0));

  SideNote.Document.AddItem('', NoteRef);

  SideNote.Document.AddNL(' '0, -1);

  SideNote.BoxProperties.Background.Color := clYellow;

  SideNote.BoxProperties.Border.Style := rvbDouble;

  SideNote.BoxPosition.VerticalOffset :=

    rveMain.Style.PixelsToUnits(50);

  if rveMain.InsertItem('', SideNote) then

    ...

end;

Раздел справки по классу TRVNoteReferenceItemInfo содержит пример, показывающий, как редактировать Document.

См. также...

TRVTexBoxItemInfo