Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.03;
Скачать: CL | DM;

Вниз

Иконки в 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]

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



Страницы: 1 вся ветка

Текущий архив: 2003.04.03;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
3-6371
РВА
2003-03-14 14:12
2003.04.03
Значение суммы из DBGridEh


1-6440
CrazyHackers
2003-03-23 14:05
2003.04.03
Не дать форме открыться


7-6814
serg_1
2003-02-05 14:18
2003.04.03
Общие ресурсы для нескольких потоков.


4-6834
zedov
2003-02-01 14:40
2003.04.03
запихнуть dll в эксешник без формы


7-6824
Pakshin A. S.
2003-02-11 11:50
2003.04.03
Очистка корзины...