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

•  3D Designer  136

•  Sik Screen Capture  110

•  Patch Maker  93

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

•  ListBox Drag & Drop  85

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

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

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

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

•  Canvas Drawing  82

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

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

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

•  Paint on Shape  52

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

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

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

•  Пазл Numbrix  57

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

•  Игра HIP  66

•  Игра Go (Го)  51

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

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

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

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

•  HEX View  102

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

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

•  Автомобильная пробка  52

•  Квадратные сетки из слов  46

 
скрыть


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-2021 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

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