MFC ActiveX Denetimleri: Özellik Sayfaları
Özellik sayfaları, ActiveX denetim kullanıcılarının ActiveX denetim özelliklerini görüntülemesine ve değiştirmesine olanak tanır. Bu özelliklere, denetim özelliklerini görüntülemek ve düzenlemek için özelleştirilmiş, grafik arabirim sağlayan bir veya daha fazla özellik sayfası içeren bir denetim özellikleri iletişim kutusu çağrılarak erişilir.
Önemli
ActiveX, yeni geliştirme için kullanılmaması gereken eski bir teknolojidir. ActiveX'in yerine geçen modern teknolojiler hakkında daha fazla bilgi için bkz . ActiveX Denetimleri.
ActiveX denetimi özellik sayfaları iki şekilde görüntülenir:
Denetimin Özellikler fiili (OLEIVERB_PROPERTIES) çağrıldığında, denetim denetimin özellik sayfalarını içeren bir kalıcı özellik iletişim kutusu açar.
Kapsayıcı, seçili denetimin özellik sayfalarını gösteren kendi modsuz iletişim kutusunu görüntüleyebilir.
Özellikler iletişim kutusu (aşağıdaki şekilde gösterilmiştir) geçerli özellik sayfasını görüntülemeye yönelik bir alandan, özellik sayfaları arasında geçiş yapmaya yönelik sekmelerden ve özellik sayfası iletişim kutusunu kapatma, yapılan değişiklikleri iptal etme veya ActiveX denetiminde yapılan değişiklikleri hemen uygulama gibi yaygın görevleri gerçekleştiren bir düğme koleksiyonundan oluşur.
Özellikler İletişim Kutusu
Bu makale, ActiveX denetiminde özellik sayfalarını kullanmayla ilgili konuları kapsar. Bu modüller şunlardır:
ActiveX denetiminde özellik sayfalarını kullanma hakkında daha fazla bilgi için aşağıdaki makalelere bakın:
ActiveX denetimi dışındaki bir MFC uygulamasında özellik sayfalarını kullanma hakkında bilgi için bkz . Özellik Sayfaları.
Varsayılan Özellik Sayfasını Uygulama
Denetim projenizi oluşturmak için ActiveX Denetim Sihirbazı'nı kullanırsanız, ActiveX Denetim Sihirbazı COlePropertyPage Sınıfından türetilen denetim için varsayılan bir özellik sayfası sınıfı sağlar. Başlangıçta bu özellik sayfası boş olur, ancak buna herhangi bir iletişim kutusu denetimi veya denetim kümesi ekleyebilirsiniz. ActiveX Denetim Sihirbazı varsayılan olarak yalnızca bir özellik sayfası sınıfı oluşturduğundan, Sınıf Görünümü kullanılarak ek özellik sayfası sınıfları (aynı zamanda öğesinden COlePropertyPage
türetilmiştir) oluşturulmalıdır. Bu yordam hakkında daha fazla bilgi için bkz . MFC ActiveX Denetimleri: Başka Bir Özel Özellik Sayfası Ekleme.
Özellik sayfası uygulama (bu durumda varsayılan), üç adımlı bir işlemdir:
Özellik sayfası uygulamak için
Denetim projesine türetilmiş bir
COlePropertyPage
sınıf ekleyin. Proje ActiveX Denetim Sihirbazı kullanılarak oluşturulduysa (bu örnekte olduğu gibi), varsayılan özellik sayfası sınıfı zaten vardır.Özellik sayfası şablonuna denetim eklemek için iletişim kutusu düzenleyicisini kullanın.
DoDataExchange
Özellik sayfası denetimi ile ActiveX denetimi arasında değer değişimi yapmak için türetilmiş sınıfın işleviniCOlePropertyPage
özelleştirin.
Örneğin, aşağıdaki yordamlar basit bir denetim ("Örnek" olarak adlandırılır) kullanır. Örnek, ActiveX Denetim Sihirbazı kullanılarak oluşturulmuştur ve yalnızca stock Caption özelliğini içerir.
Özellik Sayfasına Denetim Ekleme
Özellik sayfasına denetim eklemek için
Denetim projeniz açıkken Kaynak Görünümü'nü açın.
İletişim kutusu dizini simgesine çift tıklayın.
IDD_PROPPAGE_SAMPLE iletişim kutusunu açın.
ActiveX Denetim Sihirbazı, projenin adını iletişim kutusu kimliğinin sonuna ekler( bu örnekte Örnek).
Seçili denetimi Araç Kutusu'ndan sürükleyip iletişim kutusu alanına bırakın.
Bu örnekte, "Caption :" metin etiketi denetimi ve IDC_CAPTION tanımlayıcısı olan bir düzenleme kutusu denetimi yeterlidir.
Değişikliklerinizi kaydetmek için Araç Çubuğu'nda Kaydet'e tıklayın.
Artık kullanıcı arabirimi değiştirildiğine göre düzenleme kutusunu Caption özelliğine bağlamanız gerekir. Bu işlem aşağıdaki bölümde işlevi düzenlenerek CSamplePropPage::DoDataExchange
gerçekleştirilir.
DoDataExchange İşlevini Özelleştirme
Özellik sayfanız CWnd::D oDataExchange işlevi, özellik sayfası değerlerini denetimdeki özelliklerin gerçek değerleriyle bağlamanızı sağlar. Bağlantı oluşturmak için, uygun özellik sayfası alanlarını ilgili denetim özellikleriyle eşlemeniz gerekir.
Bu eşlemeler özellik sayfası DDP_ işlevleri kullanılarak uygulanır. DDP_ işlevleri, tek bir özel durum dışında standart MFC iletişim kutularındaki DDX_ işlevleri gibi çalışır. Üye değişkeni başvurusuna ek olarak, DDP_ işlevleri denetim özelliğinin adını alır. Aşağıda, işlevde DoDataExchange
bir özellik sayfası için tipik bir giriş verilmiştir.
DDP_Text(pDX, IDC_CAPTION, m_caption, _T("Caption"));
Bu işlev, işlevini kullanarak özellik sayfasının m_başlık üye değişkenini Caption ile ilişkilendirirDDP_TEXT
.
Özellik sayfası denetimini ekledikten sonra, yukarıda açıklandığı gibi işlevini kullanarak DDP_Text
özellik sayfası denetimi, IDC_CAPTION ve gerçek denetim özelliği olan Caption arasında bir bağlantı oluşturmanız gerekir.
Özellik Sayfaları , onay kutuları, radyo düğmeleri ve liste kutuları gibi diğer iletişim kutusu denetim türleri için kullanılabilir. Aşağıdaki tabloda tüm özellik sayfası DDP_ işlevleri ve amaçları listelenmektedir:
Özellik Sayfası İşlevleri
İşlev adı | Bağlanmak için bu işlevi kullanın |
---|---|
DDP_CBIndex |
Denetim özelliğine sahip birleşik giriş kutusunda seçili dizenin dizini. |
DDP_CBString |
Denetim özelliğine sahip birleşik giriş kutusunda seçili dize. Seçili dize, özelliğin değeriyle aynı harflerle başlayabilir ancak tam olarak eşleşmesi gerekmez. |
DDP_CBStringExact |
Denetim özelliğine sahip birleşik giriş kutusunda seçili dize. Seçili dize ve özelliğin dize değeri tam olarak eşleşmelidir. |
DDP_Check |
Denetim özelliğine sahip bir onay kutusu. |
DDP_LBIndex |
Denetim özelliğine sahip bir liste kutusunda seçili dizenin dizini. |
DDP_LBString |
Denetim özelliğine sahip bir liste kutusunda seçili dize. Seçili dize, özelliğin değeriyle aynı harflerle başlayabilir ancak tam olarak eşleşmesi gerekmez. |
DDP_LBStringExact |
Denetim özelliğine sahip bir liste kutusunda seçili dize. Seçili dize ve özelliğin dize değeri tam olarak eşleşmelidir. |
DDP_Radio |
Denetim özelliğine sahip bir radyo düğmesi. |
DDP_Text |
Denetim özelliğine sahip metin. |
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin