Главная страница
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.012 c
3-6416
Suharew
2003-03-16 21:21
2003.04.03
Как удалить все записи таблицы с помощью SQL запроса


14-6765
xtreme
2003-03-14 10:16
2003.04.03
Запись на CD/DVD (R, RW, +RW, -RW) где стандарты почитать?


9-6288
Константин
2002-10-30 10:24
2003.04.03
OpenGL - различия в инициализации в Winde и Linux


14-6706
kostya2000
2003-03-15 10:47
2003.04.03
Что делать в этом случае:


3-6330
Igor Kashtanov
2003-03-09 00:51
2003.04.03
Быстрый поиск в DBLookupComboBox