![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Размер иконки [D7, WinXP]
webpauk © (2009-10-30 16:45:00)function GetIcon(const FileName: string): TIcon;
const
IconType: TIconType = itLarge;
var
FileInfo: TShFileInfo;
ImageList: TImageList;
IT: DWORD;
begin
IT := SHGFI_LARGEICON;
Result := TIcon.Create;
ImageList := TImageList.Create(nil);
FillChar(FileInfo, Sizeof(FileInfo), #0);
ImageList.ShareImages := true;
ImageList.Handle := SHGetFileInfo(PChar(FileName), IT, FileInfo, sizeof(FileInfo), IT or SHGFI_SYSICONINDEX);
ImageList.GetIcon(FileInfo.iIcon, Result);
ImageList.Free;
end;
загружаю иконку из файла.
РЕАЛЬНЫЙ размер иконки 48Х48. А свойства Icon.Width, Icon.Height - всегда 32х32.
как правильно получить размер иконки?
TIF (2009-10-31 03:54:00) [1]Про ограниченные системные размеры иконки на днях обсуждение было:
http://delphimaster.ru/cgi-bin/forum.pl?id=1256444215&n=18
Sapersky (2009-10-30 20:14:00) [2]Думаю, она подгоняется под системный размер "большой" иконки.
ИМХО, единственный надёжный способ получить иконку "как есть" - брутальное расковыривание ресурсов файла.