Freigeben über


Benutzeroberfläche für Projekteigenschaften

Ein Projektuntertyp kann die Elemente im Dialogfeld "Eigenschaftenseiten" des Projekts verwenden, wie sie vom Basisprojekt bereitgestellt werden, schreibgeschützte Steuerelemente und ganze Seiten wie angegeben ausblenden oder erstellen oder projektuntertypspezifische Seiten zum Dialogfeld "Eigenschaftenseiten" hinzufügen.

Erweitern des Dialogfelds "Projekteigenschaft"

Ein Projektuntertyp implementiert Automatisierungs-Extender und Projektkonfigurations-Browseobjekte. Diese Extender implementieren die IFilterProperties Schnittstelle, um bestimmte Eigenschaften ausgeblendet oder schreibgeschützt zu machen. Das Dialogfeld "Eigenschaftenseiten " des Basisprojekts, das vom Basisprojekt implementiert wird, berücksichtigt die Filterung, die von den Automatisierungs extendern durchgeführt wird.

Der Prozess zum Erweitern eines Dialogfelds "Project-Eigenschaft " wird unten beschrieben:

Um die CATIDs für den Projektbereich zu ermitteln, ruft der Projektuntertyp die oben genannten Eigenschaften für VSITEMID ab. Stamm aus der VSITEMID typedef. Ein Projektuntertyp kann auch steuern, welche Eigenschaftenseiten-Dialogfeldseiten für das Projekt angezeigt werden, sowohl konfigurationsabhängig als auch konfigurationsunabhängig. Einige Projektuntertypen müssen möglicherweise integrierte Seiten entfernen und projektuntertypspezifische Seiten hinzufügen. Um dies zu aktivieren, ruft das verwaltete Clientprojekt die Methode für die GetProperty folgenden Eigenschaften auf:

  • VSHPROPID_PropertyPagesCLSIDList — eine durch Semikolons getrennte Liste von CLSIDs von konfigurationsunabhängigen Eigenschaftenseiten.

  • VSHPROPID_CfgPropertyPagesCLSIDList — eine durch Semikolons getrennte Liste von CLSIDs von konfigurationsabhängigen Eigenschaftenseiten.

Da der Projektuntertyp das IVsHierarchy Objekt aggregiert, kann er die Definition dieser Eigenschaften überschreiben, um zu steuern, welche Dialogfelder für Eigenschaftenseiten angezeigt werden. Der Projektuntertyp kann diese Eigenschaften aus dem inneren Basisprojekt abrufen und dann bei Bedarf CLSIDs hinzufügen oder entfernen.

Neue Eigenschaftenseiten, die von einem Projektuntertyp hinzugefügt werden, werden einem Projektkonfigurations-Browseobjekt aus der Basisprojektimplementierung übergeben. Dieses Projektkonfigurations-Browse-Objekt unterstützt Automation Extender. Weitere Informationen zu AutomationExtenders finden Sie unter Implementieren und Verwenden von Automatisierungserweiterungen. Die Eigenschaftenseiten, die vom Projektuntertypaufruf Extender[] implementiert wurden, um ein eigenes Projektuntertypkonfigurationsobjekt abzurufen, das das Konfigurationsstöberobjekt des Basisprojekts erweitert.

Siehe auch