Aracılığıyla paylaş


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.

Properties dialog box for Circ3.
Ö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 COlePropertyPagetü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

  1. Denetim projesine türetilmiş bir COlePropertyPagesı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.

  2. Özellik sayfası şablonuna denetim eklemek için iletişim kutusu düzenleyicisini kullanın.

  3. DoDataExchange Özellik sayfası denetimi ile ActiveX denetimi arasında değer değişimi yapmak için türetilmiş sınıfın işlevini COlePropertyPageö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

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

  2. İletişim kutusu dizini simgesine çift tıklayın.

  3. IDD_PROPPAGE_SAMPLE iletişim kutusunu açın.

    ActiveX Denetim Sihirbazı, projenin adını iletişim kutusu kimliğinin sonuna ekler( bu örnekte Örnek).

  4. Seçili denetimi Araç Kutusu'ndan sürükleyip iletişim kutusu alanına bırakın.

  5. Bu örnekte, "Caption :" metin etiketi denetimi ve IDC_CAPTION tanımlayıcısı olan bir düzenleme kutusu denetimi yeterlidir.

  6. 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.

MFC ActiveX Denetimleri
COlePropertyPage Sınıfı