![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Александр
Форумчанин
Регистрация: 15.08.2007
Сообщений: 112
|
![]()
Подскажите, пожалуйста, как в ListView отображать перед элементами стандартные значки, если элементами являются имена файлов с различными расширениями.
Свойство ViewStyle стоит как vsReport. И в догонку: можно ли запускать эти файлы двойным щелчком? ![]() Последний раз редактировалось Македонский; 12.09.2007 в 11:53. |
![]() |
![]() |
![]() |
#2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Ну я бы сначала для каждого файла получил иконку через ExtractAssociatedIcon, потом ее уже отрисовал бы :
uses ShellAPI; ... procedure TForm1.Button1Click(Sender: TObject); var Icon: hIcon; IconIndex: word; begin IconIndex := 1; Icon := ExtractAssociatedIcon(HInstance, <Путь + файл>, IconIndex); DrawIcon(Canvas.Handle, 10, 10, Icon); end; А запускать можно через ShellExecute, Например: if ShellExecute(form1.handle,'open','D :\Help\Richter.chm','Richter.chm',' D:\Help\',1)<=32 then caption:='bad';
I'm learning to live...
|
![]() |
![]() |
![]() |
#3 |
Александр
Форумчанин
Регистрация: 15.08.2007
Сообщений: 112
|
![]()
С запуском получилось, а иконки так и не отображаются. Нельзя ли чтоб система автоматом подключала иконки к соответствующим файлам?
![]() |
![]() |
![]() |
![]() |
#4 |
Форумчанин Подтвердите свой е-майл
Регистрация: 08.08.2007
Сообщений: 183
|
![]()
Вот взял из библии делфи, попробуй должно работать
procedure TForm1.FormCreate(Sender: TObject); var SysImageList: uint; SFI: TSHFileInfo; begin //Создаём список маленьких и больших иконок ListView1.LargeImages:=TImageList.C reate(self); ListView1.SmallImages:=TImageList.C reate(self); //Запрашиваем большие иконки SysImageList := SHGetFileInfo('', 0, SFI, SizeOf(TSHFileInfo), SHGFI_SYSICONINDEX or SHGFI_LARGEICON); if SysImageList <> 0 then begin //Присваиваем системные иконки в ListView1 ListView1.Largeimages.Handle := SysImageList; ListView1.Largeimages.ShareImages := TRUE; end; //Запрашиваем маленькие иконки SysImageList := SHGetFileInfo('', 0, SFI, SizeOf(TSHFileInfo), SHGFI_SYSICONINDEX or SHGFI_SMALLICON); if SysImageList <> 0 then begin //Присваиваем маленькие системные иконки в ListView1 ListView1.Smallimages.Handle := SysImageList; ListView1.Smallimages.ShareImages := TRUE; end; end;
Until The End Of Time
|
![]() |
![]() |
![]() |
#5 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Ну может ты не туда рисуеш просто.
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#6 |
Александр
Форумчанин
Регистрация: 15.08.2007
Сообщений: 112
|
![]()
Сделал как сказано в БИБЛИИ ДЕЛФИ, иконки появились, но все одинаковые, хотя расширения элементов (имен файлов) разные...
![]() |
![]() |
![]() |
![]() |
#7 |
Форумчанин Подтвердите свой е-майл
Регистрация: 08.08.2007
Сообщений: 183
|
![]()
Вот весь пример из книги посмотри там написано как сделать в Процедуре AddFile с помощью функции SHGetFileInfo
Until The End Of Time
Последний раз редактировалось Showy; 12.09.2007 в 13:24. |
![]() |
![]() |
![]() |
#8 |
Александр
Форумчанин
Регистрация: 15.08.2007
Сообщений: 112
|
![]()
Спасибо громаднейшее!
Showy, а у тебя эта библия в электронной версии? ![]() |
![]() |
![]() |
![]() |
#9 |
Форумчанин Подтвердите свой е-майл
Регистрация: 08.08.2007
Сообщений: 183
|
![]()
Да есть вся. Весит 13Мб
Until The End Of Time
Последний раз редактировалось Showy; 12.09.2007 в 13:34. |
![]() |
![]() |
![]() |
#10 |
Александр
Форумчанин
Регистрация: 15.08.2007
Сообщений: 112
|
![]()
А в архиве?
![]() |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Значки на рабочем столе | Xardas | Свободное общение | 4 | 01.03.2008 20:21 |
Убрать значки | masterprog | Помощь студентам | 2 | 28.12.2007 19:47 |
Помогите - Значки в Windows Vista | Алексей_C | Общие вопросы Delphi | 5 | 19.11.2007 01:27 |
Обновить значки в трее | Romanus | Win Api | 10 | 24.09.2007 16:21 |
значки в трее | oLMeR | Общие вопросы Delphi | 3 | 11.11.2006 18:39 |