Форум: "Media";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2003.04.03;
Скачать: [xml.tar.bz2];




Вниз

Иконки в TreeView 


Mischka   (2002-12-29 07:04) [0]

Делаю типа проводника Windows. А как в TreeView отобразить иконки, соответствующие различным типам файлов, не знаю. TreeView хочет брать их из TImageList, я же не могу туда запихать все существующие иконки, тем более в будущем появятся и другие...
Что делать?



ZEE   (2002-12-30 01:07) [1]

Это простого - делай так:
в uses добавить ShellApi
в OnCreate
var Sfi:TShfileInfo;
...
ImageList1.Handle:=SHGetFileInfo("",0,Sfi,SizeOf(TShfileInfo),SHGFI_SYSICONINDEX Or SHGFI_SMALLICON);
ImageList1.ShareImages:=True;
...

во время добавления элемента в TreeView
var Sfi:TShfileInfo;
...
SHGetFileInfo(PChar(filename),0,Sfi,SizeOf(Sfi),SHGFI_SYSICONINDEX);
//filename - путь и имя файла, чью иконку надобно найти
// присваиваем номер иконки
TreeView1.Items.{какой-то итем :)}.ImageIndex:=Sfi.iIcon;
...

Все дальше думаю понятно...



Rouse_   (2002-12-30 01:37) [2]

Круто :))

А это для чего придумано? ExtractAssociatedIcon()

Желаю успехов



ZEE   (2002-12-30 01:42) [3]

2 Rouse_
Так тоже можно, но SHGetFileInfo все-таки проще...



Rouse_   (2002-12-30 01:50) [4]

Я промолчу, так как у Вас приведен более полный код, но он скорее всего не вызовет никаких ассоциаций у автора, судя по уровню постановки вопроса, к сожалению. Хотя, я могу и ошибаться.

Желаю успехов



ZEE   (2002-12-30 01:55) [5]

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




Форум: "Media";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2003.04.03;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.059 c
1-6497            Kron                  2003-03-24 15:43  2003.04.03  
Как открывать одно и тоже окно много раз


14-6698           dimich1978            2003-03-18 13:17  2003.04.03  
МАСТАКИ из ПЕНЗЫ давайте встретимся.


8-6614            ReYken                2002-12-27 13:11  2003.04.03  
Может я и повторяюсь... он ответа я не нашел. Хоть и видел.


7-6798            Hint                  2003-02-07 16:19  2003.04.03  
ShellExecute


1-6606            Guru                  2003-03-22 13:10  2003.04.03  
Клиент/серверное приложение с авторизацией