![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Доброе время суток! Дорогие спецы, помогите найти ответ на вопрос. Можно ли зная тип файла, в списке ListView указать соответствуюшую ему иконку, не используя функцию SHGetFileInfo? через который можно узнать ImageIndex. Просто файл находится на другом компе, а имя я получаю через сеть.
|
#2
|
|||
|
|||
![]() Можно, но это трудоемко. Придется лезть в реестр, выяснять откуда брать иконку и грузить ее руками. А чем тебе стандартный механизм не устраивает?
|
#3
|
|||
|
|||
![]() Я свойства этого файла получаю по сетке и файл находится на другой машине. С помощью функции SHGetFileInfo я получаю номер системной иконки и т.д. а номера наверное не совпадают с моим компом. Я думаю единственный выход это создавать свои иконки для отображения.
Как думаешь lmikle есть какая-нибудь функция в Delphi, которая может сортировать имена по маске, т.е. Если файл проходит по маске то я его отображаю в списке, если нет то не отображаю? Если использовать FindFirst, FindNext, то папки не будут искаться. |
#4
|
|||
|
|||
![]() 1. Папки искаться будут. Только надо проверять атрибуты найденного объекта.
2. Насколько я помню, функция SHGetFileInfo получает номер иконки именно с локального компьютера. Так что тут проблем нет, просто используй ее. 3. Проверка имени файла по маске осуществляется функцией MatchesMask, находящейся в модуле Masks. |
#5
|
|||
|
|||
![]() С проседуры SHGetFileInfo я получаю номер иконки, но это номер иконки удаленного компа, и файл находится на том же компе. Дело в том что я ее и использую. Например, на моем компе, на папки она дает мне номер 4 и в списке она отображается иконкой папки, а если использовать файлы удаленного компа, то номер папки она дает другой (не проверял какой) просто в списке ни какой иконки не отображается.
|