项目属性用户界面

项目子类型可以使用项目属性页对话框中的项,因为它们由基项目提供,隐藏或使只读控件和整个页面作为提供,或向属性页对话框添加特定于项目子类型的页面

“扩展项目属性”对话框

项目子类型实现自动化扩展器和项目配置浏览对象。 这些扩展程序实现 IFilterProperties 接口以使特定属性隐藏或只读。 基本项目的“属性页”对话框(由基本项目实现)遵循自动化扩展程序执行的筛选。

下面概述了“扩展 项目属性 ”对话框的过程:

若要确定项目范围的 CATID,项目子类型检索 VSITEMID 的上述属性根目录。VSITEMID typedef 项目子类型可能还希望控制为项目显示哪些 属性页 对话框页面,包括配置依赖和独立于配置。 某些项目子类型可能需要删除内置页面并添加特定于项目子类型的页面。 为了启用此功能,托管客户端项目调用 GetProperty 以下属性的方法:

  • VSHPROPID_PropertyPagesCLSIDList — 配置无关属性页的 CLSID 的分号分隔列表。

  • VSHPROPID_CfgPropertyPagesCLSIDList — 配置依赖属性页的 CLSID 的分号分隔列表。

由于项目子类型聚合 IVsHierarchy 对象,因此它可以重写这些属性的定义,以控制显示哪些 属性页 对话框。 项目子类型可以从内部基项目检索这些属性,然后根据需要添加或删除 CLSID。

项目子类型添加的新属性页将从基本项目实现移交项目配置浏览对象。 此项目配置浏览对象支持自动化扩展程序。 有关 AutomationExtenders 的详细信息,请参阅 实现和使用自动化扩展程序。 由项目子类型调用 Extender[] 实现的属性页,用于检索其自己的项目子类型配置浏览对象,该对象扩展了基本项目的配置浏览对象。

另请参阅