Интерфейс IShellIconOverlay (shlobj_core.h)

Предоставляет методы, используемые расширением пространства имен для указания наложения значков для содержащихся в нем объектов.

Наследование

Интерфейс IShellIconOverlay наследуется от интерфейса IUnknown . IShellIconOverlay также содержит следующие типы элементов:

Методы

Интерфейс IShellIconOverlay содержит следующие методы.

 
IShellIconOverlay::GetOverlayIconIndex

Возвращает индекс наложения значка в списке системных образов.
IShellIconOverlay::GetOverlayIndex

Возвращает индекс наложения в списке системных образов.

Комментарии

Наложения значков — это небольшие изображения, размещенные в левом нижнем углу значка, представляющего объект Shell. Обычно они используются для добавления дополнительных сведений к значку. Часто используемое наложение значка — это маленькая стрелка, указывающая, что значок файла или папки представляет ярлык.

Наложения значков являются частью списка образов системы. У них есть два идентификатора. Один из них — это индекс наложения, который определяет наложение относительно других наложений в списке изображений. Другой — индекс изображения, который идентифицирует фактическое изображение. Эти два индекса эквивалентны значениям, присвоенным параметрам iOverlay и iImage , соответственно, при добавлении наложения значков в список частных изображений с помощью ImageList::SetOverlayImage.

Перед отображением значка для объекта оболочка вызывает интерфейс IShellIconOverlay связанной папки, чтобы запросить, должен ли значок объекта иметь наложение. Обычно он вызывает IShellIconOverlay::GetOverlayIndex для запроса индекса наложения. В некоторых случаях оболочка может вызывать IShellIconOverlay::GetOverlayIconIndex для запроса индекса изображения наложения. Чтобы указать наложение значков, методы должны вернуть запрошенный индекс. В противном случае они возвращают S_FALSE.

Чтобы указать наложение значков, оба метода должны сначала получить индекс наложения в списке образов системы, вызвав SHGetIconOverlayIndex. При первом вызове SHGetIconOverlayIndex оболочка использует имя файла наложения и индекс в файле, чтобы добавить изображение в список системных образов. После наложения в списке системных образов оболочка просто использует имя файла и индекс в качестве идентификатора. Вы также можете использовать SHGetIconOverlayIndex для получения индекса наложения нескольких стандартных системных наложений. IShellIconOverlay::GetOverlayIndex просто возвращает индекс наложения в оболочку. IShellIconOverlay::GetOverlayIconIndex должен использовать макрос INDEXTOOVERLAYMASK для преобразования индекса наложения в эквивалентный индекс изображения.

Количество различных обработчиков наложения значков, которые может поддерживать система, ограничено объемом пространства, доступного для наложения значков в списке образов системы. В настоящее время для наложения значков выделено пятнадцать слотов, некоторые из которых зарезервированы системой. По этой причине наложения значков следует указывать только в том случае, если нет удовлетворительных альтернатив.

Этот интерфейс реализуется расширениями пространства имен, которые должны указывать наложения значков для своих объектов.

Этот интерфейс обычно не используется приложениями.

Требования

   
Минимальная версия клиента Windows 2000 Professional, Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header shlobj_core.h