Интерфейс IExtractIconA (shlobj_core.h)
Предоставляет методы, позволяющие клиенту получить значок, связанный с одним из объектов в папке.
Наследство
Интерфейс IExtractIcon наследует от интерфейса IUnknown. IExtractIcon также имеет следующие типы элементов:
Методика
Интерфейс IExtractIconA имеет эти методы.
IExtractIconA::Extract Извлекает изображение значка из указанного расположения. (ANSI) |
IExtractIconA::GetIconLocation Возвращает расположение и индекс значка. (ANSI) |
Замечания
Существует два способа извлечения значка объекта. Самый простой способ — вызвать SHGetFileInfo. Однако этот подход является негибким и может быть медленным. Более гибкий и эффективный способ получения значка элемента — использовать IExtractIcon. Оболочка использует IExtractIcon для получения значков при отображении содержимого папки. Чтобы использовать IExtractIcon для получения значка объекта, сделайте следующее:
- Получите указатель на интерфейс IShellFolder папки, содержащей объект.
- Вызовите IShellFolder::GetUIObjectOf с указателем на список идентификаторов элементов (PIDL) объекта и идентификатор интерфейса IExtractIcon (IID_IExtractIcon). Папка создает объект для обработки извлечения значков и возвращает указатель интерфейса IExtractIc on.
- Вызовите IExtractIcon::GetIconLocation, чтобы получить расположение значка.
- Вызовите IExtractIcon::Extract, чтобы получить дескриптор значка.
расширения пространства имен реализовать IExtractIcon для предоставления значков для своих объектов. Клиент получает указатель интерфейса IExtractIcon для объекта в папке путем вызова метода IShellFolder::GetUIObjectOf. Реализация IShellFolder::GetUIObjectOf должна создать объект для обработки извлечения значка и возврата указателя на интерфейс объекта IExtractIcon.
обработчики значков также реализуют IExtractIcon. Обработчик значков — это тип обработчика расширений оболочки, который позволяет динамически назначать значки членам типа файла.
Вызовите этот интерфейс, если приложению требуется более гибкий способ получения значка объекта, чем SHGetFileInfo.
Заметка
Заголовок shlobj_core.h определяет IExtractIcon как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows XP [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | shlobj_core.h |