Обработчики листов свойств
Когда пользователь щелкает объект оболочки правой кнопкой мыши, контекстное меню, отображаемое обычно, включает элемент свойства. При выборе этого элемента запускается лист свойств, позволяющий пользователю просматривать и в некоторых случаях изменять свойства объекта. Вы можете настроить этот лист свойств, реализуя и регистрируя обработчик листа свойств .
Общие процедуры реализации и регистрации обработчика расширений оболочки рассматриваются в создании обработчиков расширений оболочки. В этом документе рассматриваются те аспекты реализации, которые относятся к обработчикам листов свойств.
- Как работают обработчики листов свойств
- регистрация и реализация обработчика листа свойств для подключенного диска
- связанные разделы
Как работают обработчики листов свойств
На следующем рисунке показан лист свойств свойств для текстового файла Windows XP.
На этом рисунке показан лист свойств по умолчанию, отображаемый для любого файла. Для многих таких листов свойств можно добавить на лист свойств одну или несколько страниц, реализуя и регистрируя обработчик листа свойств.
Обработчики листов свойств чаще всего регистрируются для типа файла. Каждый обработчик может добавить одну пользовательскую страницу в лист свойств свойств класса. Эти страницы обычно предоставляют пользователям доступ к свойствам, которые относятся к конкретному типу файла. Например, тип файла, состоящий из текстовых документов, может отображать страницу, которая содержит название и автор, а также абстрактный документ. Особый случай обработчика листа свойств этого типа используется для добавления страницы в лист свойств свойств для подключенного диска.
Другое использование обработчиков листов свойств — заменить страницы на листах свойств, отображаемых приложениями панели управления. Например, производитель мыши может использовать обработчик листа свойств для замены страницы кнопок на листе свойств панели управления свойства мыши странице, настраиваемой для характеристик мыши.
Как и все обработчики расширений оболочки, обработчики листов свойств являются объектными объектами объектной модели компонента (COM), реализованными в виде БИБЛИОТЕК DLL. Они должны экспортировать два интерфейса в дополнение к IUnknown: IShellExtInit и IShellPropSheetExt.
Интерфейс IShellExtInit используется оболочкой для инициализации обработчика. Когда оболочка вызывает IShellExtInit::Initialize, она передает объект данных с именем объекта и указатель на список идентификаторов элементов (PIDL) папки, содержащей файл. Параметр hRegKey не используется с обработчиками листов свойств. Метод IShellExtInit::Initialize должен извлечь имя файла из объекта данных и сохранить имя и PIDL папки для последующего использования. Дополнительные сведения см. в разделе Реализации IShellExtInitсоздании обработчиков расширений оболочки.
Оставшаяся часть операции выполняется через интерфейс IShellPropSheetExtобработчика. Если лист свойств связан с типом файла, оболочка вызывает IShellPropSheetExt::AddPages, чтобы разрешить обработчику добавлять страницу на лист свойств. Если лист свойств связан с приложением панели управления, оболочка вызывает IShellPropSheetExt::ReplacePage, чтобы разрешить обработчику заменить страницу.
Регистрация и реализация обработчика листа свойств для подключенного диска
Каждый подключенный диск содержит лист свойств, который может отображаться пользователем. На следующем рисунке показан лист свойств свойств для диска CD-ROM.
Существует множество устройств, которые могут быть подключены в качестве дисков. Так как лист свойств по умолчанию, предназначенный для дисков, может быть недостаточно для некоторых устройств, обработчик листа свойств можно реализовать для добавления страницы, относящуюся к подключенному устройству. Базовая реализация обработчика листа свойств идентична этой реализации, описанной в разделе Регистрация и реализация обработчика листа свойств длятипа файла с двумя исключениями.
- Объект данных, переданный методу IShellExtInit::Initialize, может содержать путь к диску в формате CFSTR_MOUNTEDVOLUME вместо формата CF_HDROP. Формат CF_HDROP используется при подключении устройства к букве диска. Формат CFSTR_MOUNTEDVOLUME используется с файловыми системами NTFS, когда удаленное устройство подключено к папке, а не к букве диска.
- GUID обработчика регистрируется в HKEY_CLASSES_ROOT\диске\shellex\PropertySheetHandlers ключа.
Связанные разделы
-
Регистрация и реализация обработчика листа свойств для типа файла
-
Регистрация и реализация обработчика листа свойств для приложения панели управления