Aracılığıyla paylaş


Standart Bir Denetimden Denetim Türetme

Herhangi bir CWnd türetilmiş sınıfında olduğu gibi, mevcut bir denetim sınıfından yeni bir sınıf türeterek denetimin davranışını değiştirebilirsiniz.

Türetilmiş denetim sınıfı oluşturmak için

  1. Sınıfınızı mevcut bir denetim sınıfından türetin ve isteğe bağlı olarak üye işlevini geçersiz kılarak Create temel sınıf Create işlevine gerekli bağımsız değişkenleri sağlamasını sağlayın.

  2. Denetimin davranışını belirli Windows iletilerine yanıt olarak değiştirmek için ileti işleyicisi üye işlevleri ve ileti eşleme girdileri sağlayın. Bkz. İletileri İşlevlere Eşleme.

  3. Denetimin işlevselliğini genişletmek için yeni üye işlevleri sağlayın (isteğe bağlı).

bir iletişim kutusunda türetilmiş denetim kullanmak fazladan çalışma gerektirir. İletişim kutusundaki denetimlerin türleri ve konumları normalde bir iletişim kutusu şablonu kaynağında belirtilir. Türetilmiş bir denetim sınıfı oluşturursanız, kaynak derleyicisi türetilmiş sınıfınız hakkında hiçbir şey bilmediğinden bunu bir iletişim kutusu şablonunda belirtemezsiniz.

Türetilmiş denetiminizi bir iletişim kutusuna yerleştirmek için

  1. Türetilmiş denetim sınıfının nesnesini türetilmiş iletişim sınıfınızın bildirimine ekleyin.

  2. OnInitDialog Türetilmiş denetim için üye işlevini çağırmak için iletişim kutunuzdaki SubclassDlgItem üye işlevini geçersiz kılın.

SubclassDlgItem İletişim kutusu şablonundan oluşturulan denetimi "dinamik olarak alt sınıflar". Bir denetim dinamik olarak alt sınıflandığında, Windows'a bağlanıp kendi uygulamanızda bazı iletileri işler ve kalan iletileri Windows'a geçirirsiniz. Daha fazla bilgi için MFC Başvurusu'ndaki sınıfın CWnd SubclassDlgItem üye işlevine bakın. Aşağıdaki örnekte çağrısı SubclassDlgItemyapmak için geçersiz kılmayı nasıl yazabileceğiniz gösterilmektedirOnInitDialog:

BOOL CSubDialog::OnInitDialog()
{
   CDialog::OnInitDialog();

   m_wndMyBtn.SubclassDlgItem(IDC_MYBTN, this);

   return TRUE;
}

Türetilmiş denetim iletişim kutusu sınıfına eklendiğinden, iletişim kutusu oluşturulduğunda oluşturulur ve iletişim kutusu yok edildiğinde yok edilir. Bu kodu El ile Denetim Ekleme'deki örnekle karşılaştırın.

Ayrıca bkz.

Denetimleri Yapma ve Kullanma
Denetimler