Прочитать на английском

Поделиться через


Значки классов

Значок, используемый для представления объекта класса, можно указать в атрибуте iconPath в контейнере DisplaySpecifiers. Кроме того, каждый класс может хранить несколько состояний значков. Например, класс папок может иметь значки для открытых, закрытых и отключенных состояний. Текущая реализация принимает не более шестнадцати разных состояний значков на класс.

Атрибут iconPath можно указать одним из двух способов.

<state>,<icon file name>

or

<state>,<module file name>,<resource ID>

В этих примерах< "состояние>" представляет собой целое число со значением от 0 до 15. Значение 0 определяется как значение по умолчанию или закрытое состояние значка. Значение 1 определяется как открытое состояние значка. Значение 2 — это отключенное состояние. Все остальные значения определяются приложением.

<Имя файла> значка — это путь и имя файла значка, содержащего изображение значка.

<Имя файла> модуля — это путь и имя файла модуля, например EXE или DLL, который содержит изображение значка в ресурсе. <Идентификатор ресурса — это целое число, указывающее идентификатор> ресурса значка в модуле.

Добавление значения в атрибут iconPath

Чтобы добавить значение в атрибут iconPath , выполните следующие действия.

  1. Определите, существует ли значение атрибута. Если значение необходимо заменить, сначала удалите существующее значение с помощью метода IADs::P utEx с параметром lnControlCode, равным ADS_PROPERTY_DELETE, а параметр vProp, заданный для удаления значения. Не используйте ADS_PROPERTY_CLEAR или ADS_PROPERTY_UPDATE для lnControlCode.
  2. Создайте строку, представляющую данные значка атрибута. Пример см. в приведенном выше формате.
  3. Чтобы добавить новое значение, используйте метод IADs::P utEx с параметром lnControlCode, равным ADS_PROPERTY_APPEND.
  4. Чтобы зафиксировать изменения в каталоге, вызовите идентификаторы IADs::SetInfo.