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