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


Интерфейс IColumnProvider (shlobj.h)

Предоставляет методы, которые позволяют добавлять настраиваемые столбцы в представлении Сведений Обозреватель Windows.

Примечание Поддержка IColumnProvider была удалена с windows Vista. Вместо нее используется система свойств Windows. Основные материалы, объясняющие использование новой системы, см. в разделе Система свойств Windows .
 

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

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

Методы

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

 
IColumnProvider::GetColumnInfo

Запрашивает сведения о столбце.
IColumnProvider::GetItemData

Запрашивает данные столбца для указанного файла.
IColumnProvider::Initialize

Инициализирует интерфейс IColumnProvider.

Комментарии

В представлении Windows Обозреватель Details обычно отображается несколько стандартных столбцов. В каждом столбце перечислены такие сведения, как размер или тип файла, для каждого файла в текущей папке. Также может быть несколько столбцов, которые пользователь может выбрать для отображения. Когда пользователь щелкает правой кнопкой мыши один из заголовков столбцов, в диалоговом окне отображается список доступных столбцов. Создав объект поставщика столбцов, который экспортирует интерфейс IColumnProvider, можно добавить в это диалоговое окно настраиваемые столбцы для отображения windows Обозреватель. Например, коллекция файлов, содержащих музыку, может использовать поставщика столбцов для отображения столбцов, содержащих список исполнителей и фрагментов, содержащихся в каждом файле.

Поставщик столбцов — это глобальный объект, который вызывается каждый раз, когда Windows Обозреватель отображает представление Сведения. Windows Обозреватель запрашивает у всех зарегистрированных поставщиков столбцов характеристики столбцов. Если пользователь выбрал один из столбцов поставщика столбцов, Windows Обозреватель запрашивает у поставщика столбцов связанные данные для каждого файла в папке. Затем отображаются все выбранные столбцы.

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

Столбцы идентифицируются структурой SHCOLUMNID , содержащей пару fmtid/pid . По возможности используйте существующие fmtids и pids. Если папка содержит файлы нескольких типов, данные из разных типов можно объединить в один столбец. Например, идентификатор автора из набора свойств сводной информации можно использовать для самых разных целей. Если вы используете настраиваемую структуру SHCOLUMNID , в столбце будут отображаться данные только для тех файлов, которые являются членами поддерживаемого типа. Если папка содержит другие файлы, их записи будут пустыми.

Реализуйте объект, который экспортирует этот интерфейс, если требуется, чтобы один или несколько настраиваемых столбцов отображались в представлении Сведений о Обозреватель Windows. Windows Обозреватель вызывает методы интерфейса для запроса сведений, необходимых для отображения столбца. Процедура, используемая windows Обозреватель, выглядит следующим образом:

  1. Вызовите метод IColumnProvider::Initialize , чтобы указать отображаемую папку.
  2. Вызовите метод IColumnProvider::GetColumnInfo , чтобы получить характеристики столбца.
  3. Если пользователь выбрал столбец, вызовите метод IColumnProvider::GetItemData для каждого файла в папке, чтобы получить данные, принадлежащие записи в столбце файла.
Помимо обычной регистрации модели COM, объект поставщика столбцов также должен быть зарегистрирован в Windows Обозреватель. Для этого добавьте подраздел с именем со строковой формой GUID объекта в этот ключ.
HKEY_CLASSES_ROOT
   Folder
      shellex
         ColumnHandlers

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

Требования

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