Отрисовка в ListView в режиме просмотра

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
poiuyt555
новенький
Сообщения: 51
Зарегистрирован: 12.09.2011 07:45:51

Отрисовка в ListView в режиме просмотра

Сообщение poiuyt555 »

Здравствуйте. Не подскажете:
Заполняю листвью: название итема и картинку большую к нему после li:=listview1.Items.Add();
Все работает, но меня не устраивает.
Вопрос:
Как сделать так, чтобы картинка файла largeIcon определялась не при добавлении элемента, а после того, как все элементы уже добавлены, чтобы отрисовка и получение картинки шло только для тех элементов, к-е сейчас на экране?
poiuyt555
новенький
Сообщения: 51
Зарегистрирован: 12.09.2011 07:45:51

Сообщение poiuyt555 »

Или отрисовка в режиме OwnerData = true.
Кто нибудь делал?
Timid
постоялец
Сообщения: 290
Зарегистрирован: 21.11.2007 20:33:15

Сообщение Timid »

Так вроде событие отрисовки вызывается как раз только для видимых элементов.
Что-то в духе onDrawCell.
poiuyt555
новенький
Сообщения: 51
Зарегистрирован: 12.09.2011 07:45:51

Сообщение poiuyt555 »

Есть только OnCustomDrawItem
Но там когда пытаюсь присвоить li.ImageIndex := index; - вылазит ошибка.
Т.е., он выводит только названия а картинку нарисовать в этом событии не получается.
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

poiuyt555 писал(а):сть только OnCustomDrawItem
Но там когда пытаюсь присвоить li.ImageIndex := index; - вылазит ошибка.


Зачем так сложно?
Картинку самому нарисовать просто
Это событие преднзначенно именно для отрисовки своих картинок
А TImageList очень хорошо умеет рисовать картинки.
poiuyt555
новенький
Сообщения: 51
Зарегистрирован: 12.09.2011 07:45:51

Сообщение poiuyt555 »

У меня есть ico : TIcon которая содержит нужную картинку.
В OnCustomDrawItem приходит: Sender: TCustomListView; Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean
Что то я не понимаю, как ico нарисовать к данному Item в этом событии?
Ответить