Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
{ **** UBPFD *********** by delphibase.endimus.com **** >> Получение системной иконки, ассоциированной с файлом в данной системе Функция позволяет получить такую же иконку любой директории или любого файла, какую вы видите в "проводнике". Размеры - 16 * 16 (по умолчанию) или 32 * 32 (второй параметр - itLarge) Зависимости: Юниты VCL + ComObj, ActiveX, ShellApi, ShlObj; Автор: Дмитрий Баранов, kda@pisem.net, Москва Copyright: Взято из MSDN Дата: 20 мая 2002 г. ***************************************************** } typeTIconType = (itSmall, itLarge); function
GetIcon(const
FileName: string
; const
IconType: TIconType = itSmall): TIcon; var
FileInfo: TShFileInfo; ImageList: TImageList; IT: DWORD; begin
// CoInitialize; лучше - поместите вызов этой ф. в раздел initialization IT := SHGFI_SMALLICON; Result := TIcon.Create; ImageList := TImageList.Create(nil
); if
(IconType = itLarge) then
begin
IT := SHGFI_LARGEICON; ImageList.Height := 32; ImageList.Width := 32; end
; FillChar(FileInfo, Sizeof(FileInfo), #0); ImageList.ShareImages := true; ImageList.Handle := SHGetFileInfo( PChar(FileName), SFGAO_SHARE, FileInfo, sizeof(FileInfo), IT or
SHGFI_SYSICONINDEX ); ImageList.GetIcon(FileInfo.iIcon, Result); ImageList.Free; { Не забывайте освободить полученную иконку } end
;
Пример использования:
procedureTForm1.Button1Click(Sender: TObject); var
Icon: TIcon; begin
Self.Icon := GetIcon('C:'); end
;