Proje Alt Türleri Tarafından Genişletilen Özellikler ve Metotlar
Bir proje alt türü, bir temel projenin toplayıcısı olarak oluşturulmuş olduğundan, projenin davranışını etkilemek için çok fazla güce sahiptir. Bu bölümde, proje alt türleri tarafından geliştirilebilen veya değiştirilebilen bazı özellikler özetlenmiştir.
Toplama ile Kazanılan Özellikler
Aşağıdaki tabloda, toplamanın temel projelerde proje alt türlerini geçersiz kılmasına olanak tanıyan yöntemlerin çoğu özetlemektedir.
Toplama Tarafından Geçersiz Kılınan Yöntemler | Proje Alt Türü |
---|---|
Kimden IVsHierarchy: GetProperty SetProperty GetGuidProperty SetGuidProperty |
Bir proje alt türünü şu şekilde etkinleştirir: - Proje düğümünün başlık ve simgesini değiştirin. - Proje Browse nesnesini tamamen geçersiz kıl.- Projenin yeniden adlandırılıp adlandırılamayacağını kontrol edin. - Sıralama düzenini denetleme. - Dinamik yardım için kullanıcı bağlamı denetimi. |
Kimden IVsProject: GetItemContext |
Tasarımcılara ve düzenleyicilere hangi bağlamsal hizmetlerin sağlandığını denetlemek için bir proje alt türünü etkinleştirir. |
Kimden IOleCommandTarget: QueryStatus Exec QueryStatusCommand ExecCommand |
Bir proje alt türünü şu şekilde etkinleştirir: - Proje komutları için komut yönlendirmeye katılın. - Hem proje ortam komutlarını hem de etkin komutları Çözüm Gezgini ekleyin, kaldırın veya devre dışı bırakın. |
IVsFilterAddProjectItemDlg2 | Proje alt türünün, kullanıcının Yeni Öğe Ekle iletişim kutusunda gördüklerini filtrelemesini sağlar. |
IVsSingleFileGeneratorFactory | Bir proje alt türünü şu şekilde etkinleştirir: - Dosya uzantısı verilen varsayılan oluşturucuyu belirleyin. - okunabilir bir oluşturucu adını COM nesnesine eşleyin. |
Proje Alt Türleri Tarafından Kullanılan Özellikler
Ortam ve temel proje sistemi, bir proje alt türünün proje sisteminin çeşitli özelliklerini denetlemesini sağlamak için aşağıdaki tabloda açıklanan ve __VSSPROPID2 numaralandırmalarındaki özellikleri __VSSPROPID kullanabilir.
VSHPROPID özelliği | Proje Alt Türü |
---|---|
AddItemTemplatesGuid |
Proje alt türünün Öğe Ekle iletişim kutusunun içeriğini denetlemesine izin verir. Proje alt türü şablon dizinlerinin yeni belirtimini sağlayabilir, yeni öğe türleri ekleyebilir, var olan öğeleri kaldırabilir ve temel projenin Öğe Ekle iletişim kutusundaki öğelerin bir alt kümesini yeniden düzenleyebilir. |
PropertyPagesCLSIDList |
Proje alt türünün yapılandırmadan bağımsız özellik sayfaları eklemesine veya kaldırmasına izin verir. |
CfgPropertyPagesCLSIDList |
Bir proje alt türünün yapılandırmaya bağımlı özellik sayfaları eklemesine veya kaldırmasına izin verir. |
ExtObjectCATID |
Bir proje alt türünün Extender CATID'sini bilerek proje veya proje öğesi nesneleri için Otomasyon Genişleticisi sağlamasına izin verir. Örneğin, bir proje alt türü özel Project.Extender("<subtype>") bir nesne sağlayabilir. |
BrowseObjectCATID |
Bir proje alt türünün Extender CATID'sini Browse bilerek nesne için Otomasyon Genişleticisi sağlamasına izin verir. Örneğin, bir proje alt türü koleksiyona Properties ek özellikler ekleyebilir. |
CfgBrowseObjectCATID |
Proje alt türünün proje yapılandırması gözatma nesnesi için otomasyon genişleticisi sağlamasına izin verir. Örneğin, bir proje alt türü koleksiyona Properties ek özellikler ekleyebilir. |
CfgExtObjectCATID |
Bir proje alt türünün yapılandırma nesnesi için Otomasyon Genişleticisi sağlamasına izin verir. |
DefaultPlatformName |
Proje alt türünün projenin yapılandırma nesnelerinin platform adını belirlemesine izin verir. |
Temel proje, yukarıdaki özelliklerin varsayılan uygulamasını sağlar. Temel proje, bunları en dıştaki proje alt türüne IVsHierarchy çağırarak QueryInterface
alır ve böylece proje alt türünün özelliklerin uygulanmasını geçersiz kılması için izin verir.