|
<< Нажмите, чтобы показать Содержание >> Изменение элементов документа ТРВ-Редактора (TRichView) |
Существует несколько групп методов для изменения содержимого документа:
▪методы Set***Info, объявленные в TRichView (методы быстрого изменения документа)
▪методы Set***InfoEd, объявленные в TRichViewEdit (методы редактирования документа)
▪методы SetCurrent***Info, объявленные в TRichViewEdit – такие же как, Set***InfoEd, но работающие с текущим (в позиции каретки) элементом документа.
Методы SetCurrent***Info работают так же, как Set***InfoEd(CurItemNo,...) Но есть важное исключение: при использовании таблиц, методы SetCurrent***Info меняют свойства элемента в любом расположении (как в корневом редакторе, так и в редакторе ячейки).
Тип элемента поменять нельзя (за исключением преобразования обычных рисунков в интерактивные и наоборот)
Сначала вам нужно узнать тип элемента. Используйте RichView.GetItemStyle(ItemNo); или свойство RichViewEdit.CurItemStyle для элемента, находящегося в позиции каретки.
Далее, обычно вам нужно получить информацию о данном элементе.
Наконец, вы можете его изменить.
Параметры этих методов аналогичны параметрам методов Add***.
В зависимости от типа элемента, можно использовать:
▪SetBreakInfo, SetBulletInfo, SetHotspotInfo (вызовите Invalidate для перерисовки RichView после вызова, переформатирование не обязательно)
▪SetPictureInfo, SetControlInfo возвращают значение типа Boolean: требуется ли переформатирование? (вызовите Invalidate для перерисовки RichView после вызова, переформатирование не обязательно, если новое изображение или компонент имеет те же размеры, и вертикально выравнивание не было изменено).
Также можно использовать:
▪SetItemTag для изменения тега элемента документа,
▪SetCheckpointInfo для изменения закладки,
▪SetItemExtraIntProperty для изменения значения целочисленного свойства,
▪SetItemExtraStrProperty для изменения значения строкового свойства,
▪SetItemText для изменения текста элемента документа (видимый текст для текстовых элементов, название для нетекстовых).
См. раздел справки о тегах элементов.
Ограничения текущей версии ТРВ-Редактора:
▪нельзя менять ссылку на компонент TImageList у значков и интерактивных значков;
▪нельзя менять компонент на другой.
Не рекомендуется использовать эти методы в редакторе, см. раздел справки компоненты просмотра и компоненты редактирования.
Набор методов, аналогичный методам Set***Info, с теми же параметрами, с той разницей, что это методы редактирования документа.
SetBreakInfoEd, SetBulletInfoEd, SetHotspotInfoEd, SetPictureInfoEd, SetControlInfoEd;
также SetItemTagEd, SetCheckpointInfoEd, SetItemTextEd, SetItemExtraIntPropertyEd, SetItemExtraStrPropertyEd
Набор методов, аналогичный методам Set***InfoEd, но работающих с элементом документа в позиции каретки.
SetCurrentBreakInfo, SetCurrentBulletInfo, SetCurrentHotspotInfo, SetCurrentPictureInfo, SetCurrentControlInfo,
также SetCurrentTag, SetCurrentCheckpointInfo, SetCurrentItemText, SetCurrentItemExtraIntProperty, SetCurrentItemExtraStrProperty.
Методы для изменения размера компонента:
procedure ResizeControl(ItemNo: Integer; NewWidth, NewHeight: TRVCoord);
procedure ResizeCurrentControl(NewWidth, NewHeight: TRVCoord);
Это предпочтительный способ изменения размера компонента. Эти методы переформатируют затронутую часть документа и перерисовывают её.
Если ваш компонент иногда может изменять свой размер или перемещаться, вам необходимо вызвать:
procedure AdjustControlPlacement(ItemNo: Integer);
procedure AdjustControlPlacement2(Control: TControl);
после этих действий. Эти методы восстанавливают правильное положение компонента и выполняют все необходимые операции форматирования и перерисовки, если размер компонента был изменён.