Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 11.03.2013, 10:34
Аватар для morebeauty
morebeauty morebeauty вне форума
Начинающий
 
Регистрация: 21.06.2012
Сообщения: 106
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию TListView иконки

Делаю весьма специфичный файловый менеджер. Требуется отображать определенные файлы с определенными опциями отображения/запуска. Все готово, кроме одного интерфейсного решения. А именно. Есть ImageList, в котором зашиты иконки для отображаемых файлов. Определенные файловые маски соответствуют определенным иконкам. Но требуется еще, чтобы при выборе некой дефолтной иконки (например с индексом 0), ListView отображал виндовую иконку, соответствующую данному файлу (либо это зашитая в сам файл (например ЕХЕ) используемая икона, либо это икона приложения, с которым ассоциируется файл).
Некоторые способы получения иконки я уже нашел (хотя часть весьма заморочены, так что не откажусь и от такой помощи), но я не знаю как их применить и итемам.
Пока что при создании итема я делаю так
Код:
ListView1.Items[i].ImageIndex := IconIndex //integer
то есть выбираю одну из иконок в соответствующем ImageList. А как итему присвоить картинку не из этого списка?
Ответить с цитированием
  #2  
Старый 11.03.2013, 10:54
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Наполнять лист нужными иконками. Вообще какая-то странная задача. Можно же ShellListView использовать.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #3  
Старый 11.03.2013, 11:06
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

первой иконкой (индекс == 0) в TImageList добавить иконку по-умолчанию. далее по мере извлечения из файлов.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #4  
Старый 11.03.2013, 11:08
Аватар для morebeauty
morebeauty morebeauty вне форума
Начинающий
 
Регистрация: 21.06.2012
Сообщения: 106
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Наполнять лист нужными иконками. Вообще какая-то странная задача. Можно же ShellListView использовать.
Я в условии написал, почему не могу использвать шелл
Цитата:
Определенные файловые маски соответствуют определенным иконкам

Как объяснить подробнее я не знаю без наводящих вопросов. Да это вам и не нужно. Однако суть задачи я рассказал вполне подробно.
Цитата:
Некоторые способы получения иконки я уже нашел (хотя часть весьма заморочены, так что не откажусь и от такой помощи), но я не знаю как их применить к итемам.
Ответить с цитированием
  #5  
Старый 11.03.2013, 11:10
Аватар для morebeauty
morebeauty morebeauty вне форума
Начинающий
 
Регистрация: 21.06.2012
Сообщения: 106
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
первой иконкой (индекс == 0) в TImageList добавить иконку по-умолчанию. далее по мере извлечения из файлов.
Заполнение TImageList не подходит. Иначе все награбленные иконки появляются в настройках программы, а это недопустимо.

Было неплохо ,если бы у итемов было свойство ListView1.Items[i].Picture.Bitmap (TBitmap), но такого свойства я не нашел.

Последний раз редактировалось morebeauty, 11.03.2013 в 11:13.
Ответить с цитированием
  #6  
Старый 11.03.2013, 11:13
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

можно легко убрать появление награбленных иконок в настройках программы. достаточно к настр. прикрутить другой список. я проверял - это работает.

Цитата:
Сообщение от morebeauty
Было неплохо ,если бы у итемов было свойство ListView1.Items[i].Picture.Bitmap (TBitmap), но такого свойства я не нашел.
сделай ручное отображение элементов списка. я проверял - это работает
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #7  
Старый 11.03.2013, 11:16
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Цитата:
Сообщение от morebeauty
Я в условии написал, почему не могу использвать шелл
Сори, читаю по диагонали.
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #8  
Старый 11.03.2013, 11:21
Аватар для morebeauty
morebeauty morebeauty вне форума
Начинающий
 
Регистрация: 21.06.2012
Сообщения: 106
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
сделай ручное отображение элементов списка. я проверял - это работает
Я тоже проверял. Работает, но порой криво (что нибудь, да забуду предусмотреть )
Есть способ проще?
Ответить с цитированием
  #9  
Старый 11.03.2013, 11:24
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

см. третье сообщение - это проще простого.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:47.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter