Вниз
Скачать: 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 вся ветка

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



Память: 0.46 MB
Время: 0.04 c
14-1101492737
VEG
2004-11-26 21:12
2004.12.26
Экстремальное тестирование музыкальных форматов


1-1102558266
Rat
2004-12-09 05:11
2004.12.26
Showmessage прячется


10-1074095414
Kavi
2004-01-14 18:50
2004.12.26
COM технология


3-1101180476
Wood
2004-11-23 06:27
2004.12.26
Методы DBGrid или DataSet?


3-1101389391
СержК
2004-11-25 16:29
2004.12.26
При попытке записи в поле типа DATE выскакивает ошибка




   Наверх