|
<< Нажмите, чтобы показать Содержание >> TRVSidenoteItemInfo |
TRVSidenoteItemInfo – это класс, представляющий cноску в текстовом блоке в документе ТРВ-Редактора. Это не компонент. Объекты этого класса создаются в коде и добавляются в компонент TRichView (см. AddItem) или вставляются в компонент TRichViewEdit (см. InsertItem). Тип (стиль) этого типа элемента: rvsSidenote (-206).
Модуль [VCL/FMX] RVSidenote / fmxRVSidenote.
Синтаксис
TRVSidenoteItemInfo = class(TCustomRVNoteItemInfo)
TObject
TPersistent
TRVNonTextItemInfo
TRVRectItemInfo
Тип нумерации сносок в рамке задаётся свойством 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.