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

•  TDictionary Custom Sort  506

•  Fast Watermark Sources  872

•  3D Designer  1 802

•  Sik Screen Capture  1 455

•  Patch Maker  1 459

•  Айболит (remote control)  1 387

•  ListBox Drag & Drop  1 155

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

•  Графические эффекты  1 336

•  Рисование по маске  1 274

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

•  Canvas Drawing  961

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

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

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

•  Paint on Shape  486

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

•  Головоломка Paletto  659

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

•  Пазл Numbrix  606

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

•  Игра HIP  549

•  Игра Go (Го)  522

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

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

•  Генератор лабиринта  560

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

•  HEX View  595

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

•  Задача коммивояжера  556

 
скрыть


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

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



Как в Delphi изменить иконку у директории



Обычно, для изменения вида папок в Проводнике используется файл desktop.ini.

Сперва необходимо создать файл Desktop.ini и поместить в ту директорию, иконку которой мы хотим изменить. В программе для этого можно воспользоваться классом TIniFile и передать в него путь директории.

Теперь нам необходимо записать в .ini файл пары <key>=<value>. В Desktop.ini эти пары выглядят следующим образом (самое главное, это указать иконку и её индекс):


[.ShellCLassInfo]
IconFile=C:LocationofFolder.ico
IconIndex=0
InfoTip=Delphi is the coolest IDE ever!
// Значение IconFile это путь к .dll, .ico, или .exe. В Delphi это выглядит так:


with iniFile do
begin
  // Следующие строки меняют иконку
  WriteString('.ShellClassInfo', 'IconFile', editIconPath.Text);
  WriteString('.ShellClassInfo', 'IconIndex', editIconIndex.Text);
  WriteString('.ShellClassInfo', 'InfoTip', 'Use Delphi because it rocks!');
  UpdateFile;
end;

Теперь, когда файл Desktop.ini создан, необходимо изменить атрибуты папки и добавить системный флаг. Чтобы иконка отображалась правильно, желательно установить системный флажёк как для папки, так и для её родителя. Для установки атрибутов воспользуемся функцией SetFileAttribue():


//Устанавливаем системные атрибуты для папки и её родителя
SetFileAttributes(PChar(edFolderPath.Text), FILE_ATTRIBUTE_SYSTEM);
if Length(edFolderPath.Text) > 3 then //Если директория не корневая...
begin
  //функция LastChar возвращает индекс последнего вхождения символа
  //в строку. Этот способ позволяет быстро получить путь родительской
  //директориии, если, конечно, директория не является корневой на диске..
  tempDir := Copy(edFolderPath.Text, 1, LastChar(edFolderPath.Text, '') - 1);
  SetFileAttributes(PChar(tempDir), FILE_ATTRIBUTE_SYSTEM);
end;

Теперь можно открыть Проводник и посмотреть в левой панели на значёк директории.





Похожие по теме исходники

Delphi Magazine

Tetris DelphiX

Quake Delphi Sources

Delphi MMOG

 

Delphi Яндекс Директ

Delphi to HTML Converter

Проверка знаний Delphi

Is Delphi Dying Monitor

 

Autosave Delphi 7




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

Группа ВКонтакте   Facebook   Ссылка на Twitter   Ссылка на Telegram