Значки классов
Значок, используемый для представления объекта класса, можно указать в атрибуте iconPath в контейнере DisplaySpecifiers. Кроме того, каждый класс может хранить несколько состояний значков. Например, класс папок может иметь значки для открытых, закрытых и отключенных состояний. Текущая реализация принимает не более шестнадцати разных состояний значков на класс.
Атрибут iconPath можно указать одним из двух способов.
<state>,<icon file name>
or
<state>,<module file name>,<resource ID>
В этих примерах< "состояние>" представляет собой целое число со значением от 0 до 15. Значение 0 определяется как значение по умолчанию или закрытое состояние значка. Значение 1 определяется как открытое состояние значка. Значение 2 — это отключенное состояние. Все остальные значения определяются приложением.
<Имя файла> значка — это путь и имя файла значка, содержащего изображение значка.
<Имя файла> модуля — это путь и имя файла модуля, например EXE или DLL, который содержит изображение значка в ресурсе. <Идентификатор ресурса — это целое число, указывающее идентификатор> ресурса значка в модуле.
Чтобы добавить значение в атрибут iconPath , выполните следующие действия.
- Определите, существует ли значение атрибута. Если значение необходимо заменить, сначала удалите существующее значение с помощью метода IADs::P utEx с параметром lnControlCode, равным ADS_PROPERTY_DELETE, а параметр vProp, заданный для удаления значения. Не используйте ADS_PROPERTY_CLEAR или ADS_PROPERTY_UPDATE для lnControlCode.
- Создайте строку, представляющую данные значка атрибута. Пример см. в приведенном выше формате.
- Чтобы добавить новое значение, используйте метод IADs::P utEx с параметром lnControlCode, равным ADS_PROPERTY_APPEND.
- Чтобы зафиксировать изменения в каталоге, вызовите идентификаторы IADs::SetInfo.