Condividi tramite


Interfaccia utente delle proprietà del progetto

Un sottotipo di progetto può utilizzare gli elementi nella finestra di dialogo Pagine delle proprietà del progetto perché vengono forniti dal progetto di base, nascondere o impostare controlli di sola lettura e pagine intere come specificato oppure aggiungere pagine specifiche del sottotipo di progetto alla finestra di dialogo Pagine delle proprietà.

Estensione della finestra di dialogo Proprietà progetto

Un sottotipo di progetto implementa gli extender di automazione e gli oggetti di esplorazione della configurazione del progetto. Questi extender implementano l'interfaccia IFilterProperties per rendere nascoste o di sola lettura specifiche proprietà. La finestra di dialogo Pagine delle proprietà del progetto di base, implementata dal progetto di base, rispetta il filtro eseguito dagli extender di automazione.

Il processo di estensione di una finestra di dialogo Proprietà progetto è descritto di seguito:

Per determinare i CATID per l'ambito del progetto, il sottotipo di progetto recupera le proprietà precedenti per VSITEMID. Radice da VSITEMID typedef. Un sottotipo di progetto può anche voler controllare le pagine della finestra di dialogo Pagine delle proprietà visualizzate per il progetto, sia dipendenti dalla configurazione che indipendenti dalla configurazione. Alcuni sottotipi di progetto potrebbero dover rimuovere le pagine predefinite e aggiungere pagine specifiche del sottotipo di progetto. Per abilitare questa operazione, il progetto client gestito chiama il GetProperty metodo per le proprietà seguenti:

  • VSHPROPID_PropertyPagesCLSIDList : elenco delimitato da punto e virgola di CLSID di pagine di proprietà indipendenti dalla configurazione.

  • VSHPROPID_CfgPropertyPagesCLSIDList — elenco delimitato da punto e virgola di CLSID di pagine delle proprietà dipendenti dalla configurazione.

Poiché il sottotipo di progetto aggrega l'oggetto, può eseguire l'override IVsHierarchy della definizione di queste proprietà per controllare quali finestre di dialogo Pagine delle proprietà vengono visualizzate. Il sottotipo di progetto può recuperare queste proprietà dal progetto di base interno e quindi aggiungere o rimuovere CLSID in base alle esigenze.

Le nuove pagine delle proprietà aggiunte da un sottotipo di progetto vengono consegnate a un oggetto di esplorazione della configurazione del progetto di base dall'implementazione del progetto di base. Questa configurazione del progetto esplora oggetti supporta gli extender di automazione. Per altre informazioni su AutomationExtenders, vedere Implementazione e uso di extender di automazione. Le pagine delle proprietà implementate dalla chiamata Extender[] al sottotipo di progetto per recuperare il proprio oggetto di configurazione del sottotipo di progetto che estende l'oggetto di esplorazione della configurazione del progetto di base.

Vedi anche