Vlastnosti a metody rozšířené prostřednictvím podtypů projektů
Podtyp projektu má velký vliv na chování projektu, protože je vytvořen jako agregátor základního projektu. Tato část shrnuje některé funkce, které je možné vylepšit nebo upravit podtypy projektu.
Funkce získané agregací
Následující tabulka shrnuje řadu metod, které agregace umožňují přepsat podtypy projektu v základních projektech.
Metody přepsané podle agregace | Podtyp projektu |
---|---|
Od IVsHierarchy: GetProperty SetProperty GetGuidProperty SetGuidProperty |
Povolí podtyp projektu. – Změňte popis a ikonu uzlu projektu. - Zcela přepsat objekt projektu Browse .– Určuje, zda lze projekt přejmenovat. - Řízení pořadí řazení. - Řízení kontextu uživatele pro dynamickou nápovědu. |
Od IVsProject: GetItemContext |
Umožňuje podtyp projektu řídit, jaké kontextové služby jsou poskytovány návrhářům a editorům. |
Od IOleCommandTarget: QueryStatus Exec QueryStatusCommand ExecCommand |
Povolí podtyp projektu. - Účast ve směrování příkazů pro příkazy projektu. – Přidejte, odeberte nebo zakažte jak příkazy okolí projektu, tak Průzkumník řešení aktivní příkazy. |
IVsFilterAddProjectItemDlg2 | Umožňuje podtyp projektu filtrovat, co uživatel uvidí v dialogovém okně Přidat novou položku . |
IVsSingleFileGeneratorFactory | Povolí podtyp projektu. – Určete výchozí generátor vzhledem k příponě souboru. - Namapujte název generátoru čitelného člověka na objekt COM. |
Vlastnosti používané podtypy projektu
Prostředí a systém základního projektu můžou používat vlastnosti z __VSSPROPID výčtů a __VSSPROPID2 výčtů v následující tabulce a umožnit tak podtyp projektu řídit různé funkce systému projektu.
Vlastnost VSHPROPID | Podtyp projektu |
---|---|
AddItemTemplatesGuid |
Umožňuje podtyp projektu řídit obsah dialogového okna Přidat položku . Podtyp projektu může poskytnout novou specifikaci adresářů šablon, přidat nové druhy položek, odebrat existující položky a změnit uspořádání podmnožinu položek v dialogovém okně Přidat položku základního projektu. |
PropertyPagesCLSIDList |
Umožňuje podtyp projektu přidat nebo odebrat stránky vlastností nezávislé na konfiguraci. |
CfgPropertyPagesCLSIDList |
Umožňuje podtypu projektu přidat nebo odebrat stránky vlastností závislých na konfiguraci. |
ExtObjectCATID |
Umožňuje podtypu projektu poskytnout rozšiřující ovládací prvek Automation pro objekty projektu nebo položky projektu tím, že zná identifikátor CATID extenderu. Například podtyp projektu může poskytnout vlastní Project.Extender("<subtype>") objekt. |
BrowseObjectCATID |
Umožňuje podtyp projektu poskytnout extender automation pro Browse objekt tím, že zná extender CATID. Podtyp projektu může například do kolekce přidat další vlastnosti Properties . |
CfgBrowseObjectCATID |
Umožňuje podtyp projektu poskytnout extender automation pro objekt procházení konfigurace projektu. Podtyp projektu může například do kolekce přidat další vlastnosti Properties . |
CfgExtObjectCATID |
Umožňuje podtyp projektu poskytnout rozšiřující objekt automation pro objekt konfigurace. |
DefaultPlatformName |
Umožňuje podtyp projektu určit název platformy pro objekty konfigurace projektu. |
Základní projekt poskytuje výchozí implementaci výše uvedených vlastností. Základní projekt je získá voláním QueryInterface
IVsHierarchy vnějšího podtypu projektu, což umožní podtypu projektu přepsat implementaci vlastností.