Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 027

•  TDictionary Custom Sort  6 131

•  Fast Watermark Sources  5 929

•  3D Designer  8 785

•  Sik Screen Capture  6 258

•  Patch Maker  6 681

•  Айболит (remote control)  6 674

•  ListBox Drag & Drop  5 531

•  Доска для игры Реверси  95 706

•  Графические эффекты  6 904

•  Рисование по маске  6 123

•  Перетаскивание изображений  5 064

•  Canvas Drawing  5 432

•  Рисование Луны  5 148

•  Поворот изображения  4 693

•  Рисование стержней  3 307

•  Paint on Shape  2 547

•  Генератор кроссвордов  3 438

•  Головоломка Paletto  2 749

•  Теорема Монжа об окружностях  3 551

•  Пазл Numbrix  2 328

•  Заборы и коммивояжеры  3 015

•  Игра HIP  1 971

•  Игра Go (Го)  1 888

•  Симулятор лифта  2 244

•  Программа укладки плитки  1 953

•  Генератор лабиринта  2 400

•  Проверка числового ввода  2 081

•  HEX View  2 407

•  Физический маятник  2 043

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Получение системной иконки, ассоциированной с файлом в данной системе



Автор: Дмитрий Баранов

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Получение системной иконки, ассоциированной с файлом в данной системе

Функция позволяет получить такую же иконку любой директории или любого файла,
какую вы видите в "проводнике". Размеры - 16 * 16 (по умолчанию) или 32 * 32
(второй параметр - itLarge)

Зависимости: Юниты VCL + ComObj, ActiveX, ShellApi, ShlObj;
Автор:       Дмитрий Баранов, kda@pisem.net, Москва
Copyright:   Взято из MSDN
Дата:        20 мая 2002 г.
***************************************************** }

type
  TIconType = (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;

Пример использования:

procedure TForm1.Button1Click(Sender: TObject);
var
  Icon: TIcon;
begin
  Self.Icon := GetIcon('C:\');
end;







Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте