...

Листинг 4.35.

Определение значка файла

function GetFileIcon(filename: String; small: Boolean = False ): HICON;

var

info: SHFILEINFO;

flags: Cardinal;

begin

flags := SHGFI_ICON;

if small then

//Получение малого значка

flags := flags or SHGFI_SMALLICON

else

//Получение большого значка

flags := flags or SHGFI_LARGEICON;

ZeroMemory(Addr(info), SizeOf(info));

//Получение значка

SHGetFileInfo(PAnsiChar(filename), 0, info, SizeOf(info), flags);

GetFileIcon := info.hIcon;

end;

Используемая в листинге 4.35 API-функция SHGetFilelnfo объявлена в модуле ShellApi. Там же объявлена структура SHFILEINFO.

В листинге 4.36 приведен пример использования функции GetFilelcon: здесь полученные значки сохраняются в элементах управления Image (по одному для большого и малого значков).

Загрузка...