Aracılığıyla paylaş


mfc ActiveX denetimleri: Başka bir özel özellik sayfası ekleme

Bazen, bir ActiveX denetimi okunmadığından özellik sayfasında sığabilenden daha fazla özellik olacaktır.Bu durumda, bu özellikleri görüntülemek için ActiveX denetiminin özellik sayfaları ekleyebilirsiniz.

Yeni özellik sayfaları en az bir özellik sayfası olan bir ActiveX denetimi ekleme anlatılmaktadır.Hisse senedi özellik ekleme hakkında daha fazla bilgi için sayfa (yazı, resim veya renk) makalesine bakın mfc ActiveX denetimlerini: stok özellik sayfaları kullanarak.

ActiveX denetim Sihirbazı tarafından oluşturulmuş örnek ActiveX denetim çerçevesi aşağıdaki yordamları kullanın.Bu nedenle, sınıf adları ve tanımlayıcılar Bu örnek için benzersizdir.

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

Yeni bir özellik sayfası şablon projenize eklemek için

  1. Denetim ile açık, projenizi project çalışma alanı ' kaynak görünümü açın.

  2. Sağ tıklatın kısayol menüsünü açın ve kaynak görünümünde Kaynak ekleme.

  3. Genişletme iletişim düğümü ' nı seçip IDD_OLE_PROPPAGE_SMALL.

  4. ' I New kaynağı projenize eklemek için.

  5. Properties penceresini yenilemek için yeni özellik sayfası şablonunu seçin.

  6. Yeni bir değer girin ID özelliği.Bu örnek IDD_PROPPAGE_NEWPAGE.

  7. Araç çubuğu üzerinde Kaydet seçeneğini tıklatın.

Yeni şablon sınıfı ile ilişkilendirmek için

  1. Class View'ı açın.

  2. Class View kısayol menüsünü açmak için sağ tıklatın.

  3. Tıklatın kısayol menüsünden EkleAdd Class.

    Bu açılır Add Class iletişim kutusu.

  4. Çift mfc sınıf şablonu.

  5. İçinde Sınıf adı kutusunda mfc sınıf Sihirbazı, yeni iletişim sınıfı için bir ad yazın.(Bu örnekte, CAddtlPropPage.)

  6. Dosya adlarını değiştirmek istiyorsanız tıklatın değiştirmek.Uygulama ve üstbilgi dosyalarınızın adlarını yazın veya varsayılan adı kabul edin.

  7. İçinde Temel sınıf kutusunda seçin COlePropertyPage.

  8. İçinde İletişim kimliği kutusunda seçin IDD_PROPPAGE_NEWPAGE.

  9. Tıklatın Son bir sınıf oluşturmak için.

Denetimin kullanıcılar bu yeni özellik sayfası erişimine izin vermek için denetimin özellik sayfası kimlikleri makro bölümü (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)

İkinci parametre olarak artırmanız gerekir unutmayın BEGIN_PROPPAGEIDS makro (özellik sayfası sayısı) 1 2.

Denetim uygulaması dosyayı değiştirmeniz gerekir (.Üstbilgisini cpp) dosyasını (.h) yeni özellik sayfası sınıf dosyası.

Sonraki adım, tür adı ve resim yazısı için yeni özellik sayfası sağlayacak iki yeni dize kaynakları oluşturulmasını kapsar.

Dize kaynakları yeni bir özellik sayfası eklemek için

  1. Denetim ile açık, projenizi kaynak görünümü açın.

  2. Çift Dize tablosu varolan dizesini bir dize eklemek istediğiniz kaynak tablo klasörünü ve sonra çift tıklatın.

    Bu dize tablosu bir pencerede açar.

  3. Dize tablosu sonundaki boş satırı seçin ve metin veya resim yazısı dize yazın: Örneğin, "ek özellik sayfası."

    Bu açılır bir Dize özellikleri sayfa gösterme yazısı ve ID kutuları.Yazısı kutusuna yazdığınız dize içerir.

  4. İçinde ID kutusunu seçin ya da bir kimlik dizesi yazın.İşiniz bittiğinde, Enter tuşuna basın.

    Bu örnek IDS_SAMPLE_ADDPAGE yeni özellik sayfası türü adı.

  5. 3 Ve 4 kullanarak IDS_SAMPLE_ADDPPG_CAPTION kimliği ve resim yazısı için "ek özellik sayfası".

  6. İçinde.Yeni özellik sayfası sınıfının cpp dosyası (Bu örnekte, CAddtlPropPage) değiştirmek CAddtlPropPage::CAddtlPropPageFactory::UpdateRegistry IDS_SAMPLE_ADDPAGE geçirilen, AfxOleRegisterPropertyPageClass, aşağıdaki örnekteki gibi:

    BOOL CAddtlPropPage::CAddtlPropPageFactory::UpdateRegistry(BOOL bRegister)
    {
       if (bRegister)
          return AfxOleRegisterPropertyPageClass(AfxGetInstanceHandle(),
             m_clsid, IDS_SAMPLE_ADDPAGE);
       else
          return AfxOleUnregisterClass(m_clsid, NULL);
    }
    
  7. Yapıcısı değiştirmek CAddtlPropPage böylece IDS_SAMPLE_ADDPPG_CAPTION için geçirilen COlePropertyPage yapıcı, aşağıdaki gibi:

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

Projenizi yeniden ve yeni özellik sayfası sınamak için Test kapsayıcı kullanmak gerekli değişiklikleri yaptıktan sonra.Bakın test özelliklerini ve olaylarını sınaması kapsayıcısı ile sınaması kapsayıcısı erişim hakkında bilgi için.

Ayrıca bkz.

Kavramlar

mfc ActiveX denetimleri