Sdílet prostřednictvím


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 QueryInterfaceIVsHierarchy vnějšího podtypu projektu, což umožní podtypu projektu přepsat implementaci vlastností.

Viz také