Aracılığıyla paylaş


MFC ActiveX Denetimleri: Başka Bir Özel Özellik Sayfası Ekleme

Bazen, bir ActiveX denetiminin bir özellik sayfasına makul bir şekilde sığabilecek özelliklerden daha fazla özelliği olur. Bu durumda, bu özellikleri görüntülemek için ActiveX denetimine özellik sayfaları ekleyebilirsiniz.

Bu makalede, zaten en az bir özellik sayfası olan bir ActiveX denetimine yeni özellik sayfaları ekleme açıklanır. Hisse senedi özellik sayfaları (yazı tipi, resim veya renk) ekleme hakkında daha fazla bilgi için MFC ActiveX Denetimleri: Stok Özellik Sayfalarını Kullanma makalesine bakın.

Aşağıdaki yordamlar, ActiveX Denetim Sihirbazı tarafından oluşturulan örnek bir ActiveX denetim çerçevesi kullanır. Bu nedenle, sınıf adları ve tanımlayıcıları bu örnekte benzersizdir.

ActiveX denetiminde özellik sayfalarını kullanma hakkında daha fazla bilgi için aşağıdaki makalelere bakın:

Projenize yeni bir özellik sayfası şablonu eklemek için

  1. Denetim projeniz açıkken, proje çalışma alanında Kaynak Görünümü'nü açın.

  2. Kaynak Görünümü'ne sağ tıklayarak kısayol menüsünü açın ve Kaynak Ekle'ye tıklayın.

  3. İletişim kutusu düğümünü genişletin ve IDD_OLE_PROPPAGE_SMALL'ı seçin.

  4. Kaynağı projenize eklemek için Yeni'ye tıklayın.

  5. Özellikler penceresini yenilemek için yeni özellik sayfası şablonunu seçin (Kaynak Görünümü'nde).

  6. ID özelliği için yeni bir değer girin. Bu örnekte IDD_PROPPAGE_NEWPAGE kullanılır.

  7. Araç çubuğunda Kaydet seçeneğine tıklayın.

Yeni şablonu bir sınıfla ilişkilendirmek için

  1. Sınıf Görünümü'nü açın.

  2. Kısayol menüsünü açmak için Sınıf Görünümü'ne sağ tıklayın.

  3. Kısayol menüsünde Ekle'ye ve ardından Sınıf Ekle'ye tıklayın.

    Bu, Sınıf Ekle iletişim kutusunu açar.

  4. MFC Sınıfı şablonuna çift tıklayın.

  5. MFC Sınıf Sihirbazı'ndaki Sınıf Adı kutusuna yeni iletişim kutusu sınıfı için bir ad yazın. (Bu örnekte, CAddtlPropPage.)

  6. Dosya adlarını değiştirmek istiyorsanız Değiştir'e tıklayın. Uygulama ve üst bilgi dosyalarınızın adlarını yazın veya varsayılan adları kabul edin.

  7. Temel Sınıf kutusunda öğesini seçinCOlePropertyPage.

  8. İletişim Kutusu Kimliği kutusunda IDD_PROPPAGE_NEWPAGE'ı seçin.

  9. Sınıfı oluşturmak için Son'a tıklayın.

Denetimin kullanıcılarının bu yeni özellik sayfasına erişmesine izin vermek için, denetimin özellik sayfası kimlikleri makro bölümünde (denetim uygulama dosyasında bulunur) aşağıdaki değişiklikleri yapın:

BEGIN_PROPPAGEIDS(CMyAxUICtrl, 2)
   PROPPAGEID(CMyAxUIPropPage::guid)
   PROPPAGEID(CAddtlPropPage::guid)
END_PROPPAGEIDS(CMyAxUICtrl)

BEGIN_PROPPAGEIDS makrosunun ikinci parametresini (özellik sayfası sayısı) 1'den 2'ye artırmanız gerektiğini unutmayın.

Ayrıca denetim uygulama dosyasını da ( değiştirmeniz gerekir. CPP) dosyasının üst bilgisini (. H) yeni özellik sayfası sınıfının dosyası.

Sonraki adım, yeni özellik sayfası için bir tür adı ve bir başlık sağlayacak iki yeni dize kaynağı oluşturmayı içerir.

Özellik sayfasına yeni dize kaynakları eklemek için

  1. Denetim projeniz açıkken Kaynak Görünümü'nü açın.

  2. Dize Tablosu klasörüne çift tıklayın ve ardından dize eklemek istediğiniz var olan dize tablosu kaynağına çift tıklayın.

    Bu, dize tablosunu bir pencerede açar.

  3. Dize tablosunun sonundaki boş satırı seçin ve dizenin metnini veya başlık yazın: örneğin, "Ek Özellik Sayfası."

    Bu, Resim Yazısı ve Kimlik kutularını gösteren bir Dize Özellikleri sayfası açar. Resim Yazısı kutusu, yazdığınız dizeyi içerir.

  4. Kimlik kutusunda, dize için bir kimlik seçin veya yazın. bitirdiğinizde Enter tuşuna basın.

    Bu örnekte, yeni özellik sayfasının tür adı için IDS_SAMPLE_ADDPAGE kullanılır.

  5. Kimlik için IDS_SAMPLE_ADDPPG_CAPTION ve başlık için "Ek Özellik Sayfası" kullanarak 3. ve 4. adımları yineleyin.

  6. İçinde. Yeni özellik sayfa sınıfınızın CPP dosyası (bu örnekte), CAddtlPropPageaşağıdaki örnekte olduğu gibi IDS_SAMPLE_ADDPAGE AfxOleRegisterPropertyPageClass tarafından geçirilecek şekilde değiştirinCAddtlPropPage::CAddtlPropPageFactory::UpdateRegistry:

    BOOL CAddtlPropPage::CAddtlPropPageFactory::UpdateRegistry(BOOL bRegister)
    {
       if (bRegister)
          return AfxOleRegisterPropertyPageClass(AfxGetInstanceHandle(),
             m_clsid, IDS_SAMPLE_ADDPAGE);
       else
          return AfxOleUnregisterClass(m_clsid, NULL);
    }
    
  7. oluşturucusunun CAddtlPropPage IDS_SAMPLE_ADDPPG_CAPTION oluşturucuya geçirileceği COlePropertyPage şekilde aşağıdaki gibi değiştirin:

    CAddtlPropPage::CAddtlPropPage() :
       COlePropertyPage(IDD, IDS_SAMPLE_ADDPPG_CAPTION)
    {
    
    }
    

Gerekli değişiklikleri yaptıktan sonra projenizi yeniden derleyin ve yeni özellik sayfasını test etmek için Test Kapsayıcısı'nı kullanın. Test kapsayıcısına erişme hakkında bilgi için bkz . Test Kapsayıcısı ile Test Özellikleri ve Olayları.

Ayrıca bkz.

MFC ActiveX Denetimleri