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

Хочу системные иконки! Ну очень хочу.   Найти похожие ветки 

← →
Вопрошающий   (2001-12-19 17:34) [0]

ImageListHandle := SHGetFileInfo("C:\", 0, FileInfo, SizeOf(FileInfo), SHGFI_SYSICONINDEX or SHGFI_SMALLICON);
SendMessage(TreeView1.Handle, TVM_SETIMAGELIST, TVSIL_NORMAL, ImageListHandle);

Так я получаю и устанавливаю в TreeView список системных иконок.
Проблема в том, что этот список не содержит некоторые из тех иконок которые мне нужны.
А нужны мне иконки всех дисков(локальных, сетевых, floppy, RAM, CD-ROM) плюс иконки папок.
Вопрос: как мне эти иконки добыть с учетом того, что должно работать и в Win9x и в WinNT?


← →
Вопрошающий   (2001-12-19 20:17) [1]

Люди, ну подскажите что-нибудь, плиз.
Может я неправельно вопрос поставил? Мне нужны иконки которыми Explorer диски и папки показывает. В самом Explorer`е их нет, проверял.


← →
Sir Kot-Werwolf ©   (2001-12-19 23:37) [2]

А тебе обязательно их вызывать? Может быть проще скопировать экран и нарезать оттудова картинок? ;)


← →
ValeraVV ©   (2001-12-20 06:28) [3]

В D6 исходники ShellControls (что на вкладке Samples) в ломы посмотреть? Или вообще их использовать просто


← →
Вопрошающий   (2001-12-20 07:23) [4]

>Sir Kot-Werwolf © Мне надо именно из системы их достать.
>Sir Kot-Werwolf © Исходники сейчас спосмотрю, код который я выше написал взял из примера VirtualListView. Использовать то что есть можно, но я хочу свой компонент написать.
>Всем вместе И вот что интересно: вопрос я вчера из дома задавал, там у меня Win2000 и список полученых иконок, как я уже писал неполный, сейчас на работе из Win98 попробовал - выдает все иконки...
Никто не в курсе почему так происходит?
И еще: функцию LoadIcon можно например вот так использовать:
MyIcon.Handle := LoadIcon(0, IDI_WINLOGO);
Есть ли какие константы типа IDI_WINLOGO чтобы иконки дисков и папок доставать? Я хелп облазил но не нашел.



← →
Вопрошающий   (2001-12-20 07:27) [5]

Сори!!! 2-й пункт последней месаги для ValeraVV © конечно же.


← →
Дмитрий ©   (2001-12-20 10:39) [6]

Не совсем то, но в тему (копирайт проставь), вдруг пригодится. Выдирает маленькие иконки, ассоциированные с типом файла.

function GetSmallIcon(FileName: string): TIcon;
var FileInfo: TShFileInfo;
pidl : PItemIdList;
i : integer;
ImageList: TImageList;
begin
Result:=TIcon.Create;
ImageList:=TImageList.Create(nil);
FillChar(FileInfo, Sizeof(FileInfo), #0);
ImageList.ShareImages:=true;
ImageList.Handle:=SHGetFileInfo(
PChar(FileName),
SFGAO_SHARE,
FileInfo,
sizeof(FileInfo),
SHGFI_SMALLICON or SHGFI_SYSICONINDEX
);
ImageList.GetIcon(FileInfo.iIcon, Result);
ImageList.Free;
end;


← →
Дмитрий ©   (2001-12-20 10:40) [7]

А вообще - SHGetFileInfo. Возьми словарь и уясни все флаги, передаваемые в эту ф.



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

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



Память: 0.46 MB
Время: 0.005 c
3-56995
vopros
2002-01-22 15:03
2002.02.18
Опять paradox. опять индексы...Теперь пишет Index is ReadOnly


6-57157
Kate
2001-11-27 03:58
2002.02.18
BROADCAST


3-56998
навичек
2002-01-24 03:28
2002.02.18
Чегото непонятное с TTable (или со мной:( )


4-57268
Serguar
2001-12-18 09:54
2002.02.18
список функций из DLL


4-57253
GOSHAT
2001-12-19 01:18
2002.02.18
DELPHI, WIN API




   Наверх