Пользовательский интерфейс свойств проекта
Подтип проекта может использовать элементы в проекте Окна свойств диалоговое окно " по мере того, как они передаются базовым проектом, скрывают или выполняют только для чтения элементы управления и все страницы, как указано или добавляет страницы с подвид-специфического проекта Окна свойств диалоговое окно.
Расширение диалоговое окно свойства проекта
Подтип проекта реализует расширения автоматизации и конфигурация проекта обзор объектов. Эти расширения реализуют IFilterProperties интерфейс, чтобы сделать определенные свойства или скрыть только для чтения. Окна свойств диалоговое окно базового проекта, реализованное основным проектом, учитывает фильтрации, выполняемый расширителями автоматизации.
Процесс расширения a Свойство проекта диалоговое окно конспектировано ниже:
Базовый проект извлекает из подтипа проекта путем реализации расширителей IInternalExtenderProvider интерфейс. Просмотр автоматизация проектов и конфигурации проекта просмотр базового проекта все объекты, реализуют данный интерфейс.
Реализация IInternalExtenderProvider для проекта просмотрите объект и делегат объекта к автоматизации проектов IInternalExtenderProvider реализация накопителя подтипа проекта (то есть свои QueryInterface для IInternalExtenderProvider на IVsHierarchy объект проекта).
Базовая конфигурация проекта обзор объект также реализует IInternalExtenderProvider прямого подключения в модуле автоматизации из объекта конфигурации подтипа проекта. Делегаты в его реализации IInternalExtenderProvider интерфейс, реализуемый агрегатором подтипа проекта.
GetProjectItemконфигурации проекта просмотрите, реализуется объект, возвращает IVsHierarchy объект.
GetCfgтакже реализован конфигурацией проекта просмотрите объект, возвращает IVsCfg объект.
Подтип проекта может указать соответствующее CATIDs для различных объектов extendable базового проекта во время выполнения путем извлечения следующие действия __VSHPROPID2 значения:
Чтобы определить CATIDs для области проекта, подтип проектов извлекает вышеуказанных свойства VSITEMID_ROOT от VSITEMIDtypedef. Подтип проекта может также потребоваться отслеживать, Окна свойств страницы диалогового окна отображаются для проекта и зависимые от конфигурации и конфигурации. Некоторые подтипы проектов могут удалить встроенные страницы и добавление страниц, характерной для подтипа проекта. Чтобы разрешить это управляемый проект клиента вызывает GetProperty метод для следующих свойств:
VSHPROPID_PropertyPagesCLSIDList - список <entity, plural>, разделенных точкой с запятой значения clsid конфигурация-независимых страницы свойств.
VSHPROPID_CfgPropertyPagesCLSIDList — список <entity, plural>, разделенных точкой с запятой значения clsid страницы свойств конфигурация-зависимой ячейки.
Поскольку подтип проекта статистические функции IVsHierarchy объект, он может переопределить определение этих свойств для мониторинга, Окна свойств диалоговые окна отображаются. Подтип проекта может извлечь эти свойства из внутреннего базового проекта, а затем добавлять или удалять значения clsid по мере необходимости.
Вручают новым добавленным подтипом страницы свойств проекта конфигурацию проекта просмотр объект из базовой реализации проекта. Эта конфигурация проекта обзор объект поддерживает расширители автоматизации. Дополнительные сведения об автоматизацииРасширители, см. в разделе Реализация и использование расширителей автоматизации. Страницы свойств проекта, указанных при вызове подтипа Extender чтобы получить собственную конфигурацию подтипа проекта просмотрите объект, который расширяет конфигурацию обзор объект базового проекта.