Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.06.2010, 17:54   #1
fezilk24
Заблокирован
 
Регистрация: 16.11.2009
Сообщений: 85
По умолчанию ListBox и изображения

Привет.
Снова нужна ваша помощь
В компоненте ListBox (или в похожем, подскажите, если есть какой-то..)
рядом с каждым элементом, т.е. итемом, нужно добавить изображение. Для каждого итема своё. Как это можно сделать? Поискал в инете (гугл не советовать), нашел статейку, но там одно изображение для всех итемов..
fezilk24 вне форума Ответить с цитированием
Старый 12.06.2010, 17:56   #2
fezilk24
Заблокирован
 
Регистрация: 16.11.2009
Сообщений: 85
По умолчанию

PS. Наподобие списка контактов в @Mail Agent'е
fezilk24 вне форума Ответить с цитированием
Старый 12.06.2010, 18:30   #3
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

У ListBox'а есть событие OnDrawItem. В нем можно самостоятельно перерисовать содержимое строки, в том числе и картинку нарисовать.
Sibedir вне форума Ответить с цитированием
Старый 12.06.2010, 18:41   #4
fezilk24
Заблокирован
 
Регистрация: 16.11.2009
Сообщений: 85
По умолчанию

Т.е. для каждой строки можно своё ? Что-ж, попробую поискать, как это сделать
fezilk24 вне форума Ответить с цитированием
Старый 12.06.2010, 19:02   #5
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Пример для размышления.
Вопросы спрашивай.
Вложения
Тип файла: rar ListBoxImages.rar (12.6 Кб, 28 просмотров)
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 12.06.2010, 19:46   #6
fezilk24
Заблокирован
 
Регистрация: 16.11.2009
Сообщений: 85
По умолчанию

Kotofff, если честно, ничего не понятно
каким образом рисуются эти картинки? "Ж" например..
fezilk24 вне форума Ответить с цитированием
Старый 12.06.2010, 19:47   #7
fezilk24
Заблокирован
 
Регистрация: 16.11.2009
Сообщений: 85
По умолчанию

А вообще, мне картинку нужно загрузить из файла, это реально?
fezilk24 вне форума Ответить с цитированием
Старый 12.06.2010, 20:15   #8
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Все там ясно, как белым днем. Поразберайтесь немножко.
Даю наводку
1. На форме болтается компонент TImageList
2. В коде присутствует строка
ImageList1.Draw(ListBox1.Canvas, Rect.Left, Rect.Top, Index, true);
3. OnDrawItem вызывается при отрисовке каждой строки (что значит в нем Index объяснять, думаю, не надо)

Что такое TImageList знаете? Загрузить туда картинки сможете?

Есть другое решение
Код:
procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
  ic: TIcon;
begin
  for i := 0 to ListBox1.Items.Count-1 do begin
    ic := TIcon.Create;
    ic.LoadFromFile ('***********'); // Загружаем иконку из файла
    ListBox1.Items.Objects[i] := ic;
  end;
end;
И меняем
Код:
    ImageList1.Draw(ListBox1.Canvas, Rect.Left, Rect.Top, Index, true);
на
Код:
    Draw (Rect.Left, Rect.Top, TIcon(ListBox1.Items.Objects[Index]));
Sibedir вне форума Ответить с цитированием
Старый 12.06.2010, 20:21   #9
fezilk24
Заблокирован
 
Регистрация: 16.11.2009
Сообщений: 85
По умолчанию

Спасибо, всё понял

А jpg как-то можно загрузить?
fezilk24 вне форума Ответить с цитированием
Старый 12.06.2010, 20:23   #10
fezilk24
Заблокирован
 
Регистрация: 16.11.2009
Сообщений: 85
По умолчанию

Т.е. загрузить то, я загрузил, а высоту изображения увеличить в строке ListBox как?

Последний раз редактировалось fezilk24; 12.06.2010 в 20:24. Причина: поправка
fezilk24 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как добавить в listbox файлы(пишу с помощью bassplayer)(Listbox+opendialog=play) blackstersl Общие вопросы Delphi 11 09.06.2010 13:23
Качество изображения! Obender13 Мультимедиа в Delphi 7 18.08.2009 09:57
Увеличение изображения. Fellics{новичок} Помощь студентам 8 08.03.2009 12:30
Чтение изображения из базы данных, Вместо изображения - "System.Byte[]" ruelCrow Общие вопросы .NET 3 10.07.2008 23:29
Изображения в БД alikon1 БД в Delphi 3 08.10.2007 13:13