TCustomRichView.SetPictureInfo

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

TCustomRichView.SetPictureInfo

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

function SetPictureInfo(ItemNo: Integer; 

  const AName: TRVUnicodeString; Agr: TRVGraphic;

  AVAlign: TRVVAlign; const 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.