TCustomRichView.SetPictureInfo

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

TCustomRichView.SetPictureInfo

Изменяет основные свойства элемента-рисунка или интерактивного рисунка.

function SetPictureInfo(ItemNo: Integer; 

  const AName: TRVUnicodeString; Agr: TRVGraphic;

  AVAlign: TRVVAlignconst ATag: TRVTag): Boolean;

Параметры:

ItemNo номер элемента. Элемент должен быть рисунком или интерактивным рисунком (rvsPicture или rvsHotPicture), в противном случае метод вызывает исключение ERichViewError. Элементы документа нумеруются от 0 до ItemCount-1, GetItemStyle возвращает тип элемента. Элементы поддокументов (ячеек таблиц) не включены в диапазон элементов основного документа; для элементов в ячейках используйте Cell.GetRVData.SetPictureInfo.

AName имя элемента. Произвольная строка без символов переноса строки (CR и LF). Оно также может быть изменено методом SetItemText.

Agr графический объект. Если элемент не использует общее изображение (по умолчанию), Agr должен быть уникальным графическим объектом (вы не можете присвоить один и тот же объект двум и более элементам), либо значением, возвращённым GetPictureInfo для этого элемента. Изображение рассматривается как общее, если дополнительное целочисленное свойство rvepShared установлено в ненулевое значение. Если элемент не использует общее изображение, и Agr не равен значению, полученному GetPictureInfo для этого элемента, метод освобождает память под ранее используемое элементом изображение.

AVAlign вертикальное выравнивание изображение относительно строки.

ATag тег элемента. Можно получить методами GetPictureInfo или GetItemTag. Он также может быть изменён методом SetItemTag.

 

Возвращаемое значение:

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

 

Тип метода: viewerstyle быстрое изменение документа.

Дополнительные свойства элемента могут быть изменены методами SetItemExtraIntProperty и SetItemExtraStrProperty (включая изменение размера (растяжение), настройки прозрачности TBitmap, имя файла изображения, альтернативный текст для HTML).

 

Пример 1:

RichView1.SetPictureInfo(ItemNo, 'моя картинка', Bitmap2,

  rvvaBaseline, 'тег картинки');

Пример 2 [VCL и LCL]: (ошибочный!)

bmp := TBitmap.Create;

bmp.LoadFromFile('c:\image.bmp');

RichView1.SetPictureInfo(ItemNo1, '', bmp, rvvaBaseline, '');

// ошибка! нельзя назначать один и тот же

// графический объект двум элементам

RichView1.SetPictureInfo(ItemNo2, '', bmp, rvvaBaseline, '');

Пример 3 (такой же, но без ошибки)

bmp1 := TBitmap.Create;

bmp1.LoadFromFile('c:\image.bmp');

RichView1.SetPictureInfo(ItemNo1, '', bmp1, rvvaBaseline, '');

bmp2 := TBitmap.Create;

bmp2.Assign(bmp1);

RichView1.SetPictureInfo(ItemNo2, '', bmp2, rvvaBaseline, '');

Пример 4 (такой же, но с общими изображениями)

bmp := TBitmap.Create;

bmp.LoadFromFile('c:\image.bmp');

RichView1.SetPictureInfo(ItemNo1, '', bmp, rvvaBaseline, '');

RichView1.SetItemExtraIntProperty(ItemNo1, rvepShared, 1);

RichView1.SetPictureInfo(ItemNo2, '', bmp, rvvaBaseline, '');

RichView1.SetItemExtraIntProperty(ItemNo2, rvepShared, 1);

// будет необходимо самостоятельно освободить память

// под bmp когда документ RichView1 будет очищен

 

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

GetPictureInfo;

GetItemStyle;

Format;

SetItemExtraIntProperty;

SetItemExtraStrProperty.

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

ItemCount.

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

SetPictureInfoEd;

SetCurrentPictureInfo.

См. также:

Modifying RichView items;

Item types;

Tags.