Вниз
Скачать: CL | DM;

Файл в TreeView / ListView   Найти похожие ветки 

← →
Денис   (2004-07-11 17:33) [0]

Требуется следующее: чтобы при перетаскивании файла или папки на форму
в компоненте типа TreeView / ListView появлялся соответствующий элемент,
причем с соответствующим ему системным значком.
В общем, чтобы было что-то наподобие видоизмененного ShellTreeView,
с файлами из разных папок.

p.s. Желательно, конечно, под KOL. Но можно решение и для VCL.

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


← →
z007   (2004-07-12 00:09) [1]

1. Имя файла (файлов) берешь из FileList (в OnDropFiles)
2. Узнаешь значок для него примерно так:
function GetIcon(FileName:string): Integer;
var SFI: TShFileInfo;
begin
 ShGetFileInfo( pChar(FileName), FILE_ATTRIBUTE_NORMAL, SFI,
                  sizeof( SFI ), SHGFI_ATTRIBUTES
                  or SHGFI_ICON or SHGFI_SMALLICON
                  or SHGFI_SYSICONINDEX );
 Result := FolderIconIdx;
end;

3. Создаешь новый item в TreeView
   hItem:=TV.TVInsert( hParent, TVI_SORT, FileName)
ставишь
   xIcon:= GetIcon(FileName);
   TV.TVItemImage[ hItem ] := xIcon;
   TV.TVItemSelImg[ hItem ] := xIcon;
Естественно, в начале надо приделать к TV ImgList:
   ImgList:= NewImageList( nil );
   ImgList.LoadSystemIcons( TRUE );
   TV.ImageListNormsl(Small):=ImgList...

Все :)


← →
Денис   (2004-07-14 07:11) [2]

А если то же самое, но в VCL?
Наверное, все аналогично, но там
нет метода LoadSystemIcons для ImageList...
Как "загнать" системные значки в ImageList под VCL?


← →
z007   (2004-07-19 20:20) [3]


> А если то же самое, но в VCL?

Боюсь, вопрос не для этого форума :)



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.022 c
14-1106727329
Sergo
2005-01-26 11:15
2005.02.13
API для работы с реестром


1-1106803696
newver
2005-01-27 08:28
2005.02.13
много файлов, ресурсы компа, оптимизация.


14-1106541324
rainy
2005-01-24 07:35
2005.02.13
кодировка в dos


1-1107245865
BeshCN
2005-02-01 11:17
2005.02.13
DBGrid


4-1104240921
tradakad
2004-12-28 16:35
2005.02.13
добавление submenu в item popupmenu




   Наверх