Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Размер иконки [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]

Думаю, она подгоняется под системный размер "большой" иконки.
ИМХО, единственный надёжный способ получить иконку "как есть" - брутальное расковыривание ресурсов файла.


Наверх

Титульная страница Поиск, карта сайта Написать письмо