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

Вниз

Я могу получить в Imagelist виндосовские иконки, как теперь   Найти похожие ветки 

 
Regards   (2004-12-09 01:26) [0]

определить с какой иконкой ассоциирован нужный мне тип файла ? ".txt", ".jgp" и другие.

 SHGetDesktopFolder(Desktop);
 SHGetSpecialFolderLocation(Application.Handle, CSIDL_HISTORY, HistoryPIDL);
 ImageList1        := TImagelist.Create(Self);
 ImageList1.Handle := SHGetFileInfo(Pchar(HistoryPidl), 0, FileInfo,
   SizeOf(FileInfo), SHGFI_PIDL or SHGFI_SYSICONINDEX or SHGFI_SMALLICON);


Имеется в виду нужно получить номре в ИмаджЛисте. Нужно, чтобы использовать в ТриВью.


 
Regards   (2004-12-09 01:30) [1]

var
 FileInfo    : TSHFileInfo;
 HistoryPidl : PItemIDList;
 Desktop     : IShellFolder;
 ImageList1  : TImagelist;


 
Regards   (2004-12-10 01:32) [2]

Да, мастера, это сложный вопрос. Мастерский.


 
Dolt ©   (2004-12-10 09:26) [3]

s:=ansilowercase(ExtractFileExt(s));
SHGetFileInfo(PChar(s), 0, MoreInfo, SizeOf(MoreInfo), SHGFI_USEFILEATTRIBUTES or SHGFI_ICON);
                                       ImageIndex:=MoreInfo.Iicon;


 
Rouse_ ©   (2004-12-10 09:35) [4]

какую тебе ассоциацию?
Ты сначала посмотри что ты получаешь...

procedure TForm1.Button1Click(Sender: TObject);
var
FileInfo    : TSHFileInfo;
HistoryPidl : PItemIDList;
Desktop     : IShellFolder;
I: Integer;
begin
SHGetDesktopFolder(Desktop);
SHGetSpecialFolderLocation(Application.Handle, CSIDL_HISTORY, HistoryPIDL);
ImageList1.Handle := SHGetFileInfo(Pchar(HistoryPidl), 0, FileInfo,
  SizeOf(FileInfo), SHGFI_PIDL or SHGFI_SYSICONINDEX or SHGFI_SMALLICON);
for I := 0 to 100 do
  ImageList1.Draw(Canvas, 16 * I, 10, I);
end;


Это раз.

Второе - зачем тебе нужен в таком варианте кода вот эта строчка "SHGetDesktopFolder(Desktop);"? Она тут ни к чему.

Третье - к твоему сведенью интерфейс IShellFolder имеет метод EnumObjects


 
Regards   (2004-12-11 03:42) [5]


> Dolt ©   (10.12.04 09:26) [3]
> s:=ansilowercase(ExtractFileExt(s));
> SHGetFileInfo(PChar(s), 0, MoreInfo, SizeOf(MoreInfo), SHGFI_USEFILEATTRIBUTES
> or SHGFI_ICON);
>                                        ImageIndex:=MoreInfo.Iicon;


Получается. Спасибо !
Где бы мне чего-нибудь почитать по этому вопросу. А то в справке Дельфи нихрена нету.


> Rouse_ ©   (10.12.04 09:35) [4]
> Второе - зачем тебе нужен в таком варианте кода вот эта
> строчка "SHGetDesktopFolder(Desktop);"? Она тут ни к чему.

Просочилась. Недовырезанный результат моих эксперементов.


> Третье - к твоему сведенью интерфейс IShellFolder имеет
> метод EnumObjects

Я не знаю как этим пользоваться.



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

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

Наверх




Память: 0.48 MB
Время: 0.041 c
1-1102494926
max2222
2004-12-08 11:35
2004.12.26
Невидимый процесс в консоли


3-1101965139
janb
2004-12-02 08:25
2004.12.26
MyODBC driver


14-1102081238
Alhimik
2004-12-03 16:40
2004.12.26
Телефон представительского класса от 15000


4-1100161077
Maclaud
2004-11-11 11:17
2004.12.26
Пауза меньше 1 милисекунды


1-1102503215
Provodnick
2004-12-08 13:53
2004.12.26
Отключение Cntrl+Tab в MDI-формах.