Перейти к содержанию
Fire Monkey от А до Я
  • 0

Как определить, загружена ли картинка в TListItemImage?


x11

Вопрос

Через LiveBinding загружаются данные в ListView, в том числе и в ListItemImage.

Но у некоторых Item`ов нет картинки. И в этом случае нужно показать "пустышку" типа No image.

Делаю в событии UpdateObjects

procedure TfmMain.lvObjectsUpdateObjects(const Sender: TObject;
  const AItem: TListViewItem);
Var
 ListItemImage: TListItemImage;
begin
  if Assigned(AItem) then
  begin
    ListItemImage := AItem.Objects.FindObjectT<TListItemImage>('img');
    if Assigned(ListItemImage) then
      if not assigned(ListItemImage.Bitmap) then
        ListItemImage.ImageIndex := 0;
  end;
end;

 

Но теперь у всех ListItemImage отображается пустышка, даже там, где должна быть правильная картинка.

Пробовал использовать событие UpdatingObjects, но в этом случае грузится правильная картинка, а пустышка не грузится.

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Не помогло. Выводится картинка из базы, а пустышка - нет.

 

procedure TfmMain.lvObjectsUpdateObjects(const Sender: TObject;
  const AItem: TListViewItem);
Var
 ListItemImage: TListItemImage;
begin
  if Assigned(AItem) then
  begin
    if Assigned(AItem.Objects.FindObjectT<TListItemText>('btnEdit')) then
      AItem.Objects.FindObjectT<TListItemText>('btnEdit').Text := '...';

    ListItemImage := AItem.Objects.FindObjectT<TListItemImage>('img');
    if Assigned(ListItemImage) then
      if assigned(ListItemImage.Bitmap) then
        if ListItemImage.Bitmap.IsEmpty then
          ListItemImage.ImageIndex := 0;

  end;// if
end;

 

без строки "if assigned(ListItemImage.Bitmap) then" вываливается AV

 

эта строка всегда возвращает FALSE

 

if assigned(ListItemImage.Bitmap) then

поэтому-то и не доходит дело до

ListItemImage.ImageIndex := 0;

 

 

Может картинку-пустышку можно подсунуть через  LiveBindings?

Изменено пользователем x11
Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...