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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 15.12.2008, 18:16
Ama Ama вне форума
Активный
 
Регистрация: 15.07.2008
Сообщения: 260
Репутация: 23
По умолчанию Вопрос по свойству файла

Доброе время суток! Дорогие спецы, помогите найти ответ на вопрос. Можно ли зная тип файла, в списке ListView указать соответствуюшую ему иконку, не используя функцию SHGetFileInfo? через который можно узнать ImageIndex. Просто файл находится на другом компе, а имя я получаю через сеть.
Ответить с цитированием
  #2  
Старый 15.12.2008, 19:11
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Можно, но это трудоемко. Придется лезть в реестр, выяснять откуда брать иконку и грузить ее руками. А чем тебе стандартный механизм не устраивает?
Ответить с цитированием
  #3  
Старый 16.12.2008, 17:42
Ama Ama вне форума
Активный
 
Регистрация: 15.07.2008
Сообщения: 260
Репутация: 23
По умолчанию

Я свойства этого файла получаю по сетке и файл находится на другой машине. С помощью функции SHGetFileInfo я получаю номер системной иконки и т.д. а номера наверное не совпадают с моим компом. Я думаю единственный выход это создавать свои иконки для отображения.
Как думаешь lmikle есть какая-нибудь функция в Delphi, которая может сортировать имена по маске, т.е. Если файл проходит по маске то я его отображаю в списке, если нет то не отображаю? Если использовать FindFirst, FindNext, то папки не будут искаться.
Ответить с цитированием
  #4  
Старый 16.12.2008, 18:27
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

1. Папки искаться будут. Только надо проверять атрибуты найденного объекта.
2. Насколько я помню, функция SHGetFileInfo получает номер иконки именно с локального компьютера. Так что тут проблем нет, просто используй ее.
3. Проверка имени файла по маске осуществляется функцией MatchesMask, находящейся в модуле Masks.
Ответить с цитированием
  #5  
Старый 16.12.2008, 18:48
Ama Ama вне форума
Активный
 
Регистрация: 15.07.2008
Сообщения: 260
Репутация: 23
По умолчанию

С проседуры SHGetFileInfo я получаю номер иконки, но это номер иконки удаленного компа, и файл находится на том же компе. Дело в том что я ее и использую. Например, на моем компе, на папки она дает мне номер 4 и в списке она отображается иконкой папки, а если использовать файлы удаленного компа, то номер папки она дает другой (не проверял какой) просто в списке ни какой иконки не отображается.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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