Самоучитель по Delphi 7 для профессионалов



              

Интерфейс IShellFolder - часть 5


procedure TForml.FormCreate(Sender: TObject); 

var

Filelnfo: TSHFilelnfo; 

ImageListHandle: THandle; 

begin

ImageListHandle := SHGetFilelnfo('С:\',

0,

Filelnfo, SizeOf(Filelnfo) ,

SHGFI_SYSICONINDEX or SHGFI_ICON);

SendMessage(ToolBarl.Handle, TB_SETIMAGELIST, 0, ImageListHandle);

  end;

Точно так же можно извлечь значок, соответствующий конкретному файлу. В составе Shell есть другие функции, созданные для извлечения значков:

  •  function Extractlcon(hlnst: HINST; IpszExeFileName: PChar; nlconlndex: UINT): HICON;

Эта функция извлекает значок из файла IpszExeFileName (это должен быть файл типа EXE, DLL или ICO) и возвращает его дескриптор. Если значок не найден, возвращаемое значение равно 0.

  •  function ExtractAssociatedIcon(hInst: HINST; IpIconPath: PChar; var Ipilcon: Word): HICON;

Эта функция может работать с файлами разных форматов. Сначала она, как и предыдущая, ищет значок в теле файла. Если его там нет, предпринимается попытка отыскать значок в приложении, связанном с данным типом файлов. Например, из файла с расширением doc будет извлечен один из значков Microsoft Word.

 




Содержание  Назад  Вперед