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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2011, 15:20   #1
tsar_
Форумчанин
 
Аватар для tsar_
 
Регистрация: 06.01.2011
Сообщений: 369
По умолчанию Загрузка иконок в Listview

Здравствуйте.

Начинаю осваивать компонент ListView. Работать он всегда будет в табличном стиле (vsReport). В нем будут отображаться файлы и папки с атрибутами, причем файлу должна соответствовать одна иконка, а папке - другая (т.е. всего две).

Для формирования SmallImages для ListView кинул на форму компонент ImageList (с ним тоже впервые имею дело). Клацнул по нему два раза, загрузил иконки, попробовал - вроде все нормально.

Полез в книгу Бобровского почитать про ListView и ImageList, а там, значит, ЦУ следующего характера:
Цитата:
Из-за ошибки в библиотеке Windows Comctl32.dll на компьютерах, где установлены системы Windows с разными версиями этой библиотеки, в случае формирования списка на этапе проектирования данный компонент может работать некорректно.
То же нашел позже и в интернете.

Т.е. подгружать иконки в ImageList теперь нужно динамически. Поскольку программа, для которой я все это мучу, должна состоять из одного ехе-файла, то решил использовать ресурсы.

Через Image Editor создал новый ресурс, нарисовал в нем две иконки и сохранил (выкладываю на форум, мож понадобится).

В той же книге Бобровского посмотрел методы ImageList для загрузки иконок из файла ресурсов. Нашел такое:
Код:
function ResourceLoad(ResType: TResType;
Name: string; MaskColor: TColor): Boolean;
Код:
function FileLoad(ResType: TResType;
Name: string; MaskColor: TCotor): Boolean;
Полазил по интернету в поисках конкретных примеров использования оных функций, но тщетно. Собственно, после этого на форум и зашел.

Прошу разъяснить (желательно на примере) взаимодействие ImageList с ресурсом иконок (т.е. динамическое заполнение).



-------------------------------------
Нашел одно из решений: плюнул на иконки (*.ico), сделал битовые карты (*.bmp) с теми же изображениями, положил их в Bitmaps.res, гружу в ImageList так:
Код:
imageList1.ResourceLoad(rtBitMap,'BITMAP1',clBlack);
imageList1.ResourceLoad(rtBitMap,'BITMAP2',clBlack);
Дальше присваиваю папке иконку с индексом 0, файлу - 1, все вроде работает.

Однако вопрос о подгрузке иконок пока не решил...
Вложения
Тип файла: rar Icons.res.rar (262 байт, 19 просмотров)
Программирую по необходимости

Последний раз редактировалось tsar_; 19.12.2011 в 16:48.
tsar_ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка содержимого txt в ListView foxes Общие вопросы Delphi 6 27.04.2011 00:07
Вывод иконок программ в ListView в стиле vsReport Человек_Борща Общие вопросы Delphi 1 09.11.2010 13:27
загрузка из файла ini в ListView DenisVoronov Компоненты Delphi 9 08.11.2010 20:16
ListView вывод иконок Rolls Компоненты Delphi 2 13.05.2010 07:56
Загрузка иконок файлов igroman Общие вопросы Delphi 4 29.05.2008 09:00