Aracılığıyla paylaş


El ile Denetim Ekleme

İletişim kutusu düzenleyicisiyle bir iletişim kutusuna denetimler ekleyebilir veya bunları kendiniz kodla ekleyebilirsiniz.

Bir denetim nesnesini kendiniz oluşturmak için genellikle C++ denetim nesnesini bir C++ iletişim kutusuna veya çerçeve penceresi nesnesine eklersiniz. Çerçevedeki diğer birçok nesne gibi, denetimler de iki aşamalı yapı gerektirir. Üst iletişim kutusunu veya çerçeve penceresini oluşturmanın bir parçası olarak denetimin Üye oluştur işlevini çağırmanız gerekir. İletişim kutuları için, bu genellikle OnInitDialog'da ve çerçeve pencereleri için OnCreate içinde yapılır.

Aşağıdaki örnek, türetilmiş bir iletişim kutusu sınıfının bildiriminde bir CEdit nesnesini nasıl bildirebileceğinizi ve ardından Create içinde OnInitDialog üye işlevini nasıl çağırabileceğinizi gösterir. Nesne katıştırılmış nesne olarak bildirildiğinden CEdit , iletişim kutusu nesnesi oluşturulduğunda otomatik olarak oluşturulur, ancak yine de kendi Create üye işleviyle başlatılması gerekir.

class CCustomDialog : public CDialog
{
   CEdit m_edit;
   virtual BOOL OnInitDialog();
};

Aşağıdaki OnInitDialog işlevi bir dikdörtgen ayarlar, ardından Windows düzenleme denetimini oluşturmak ve başlatılmamış Create nesneye eklemek için CEdit işlevini çağırır.

BOOL CCustomDialog::OnInitDialog()
{
   CDialog::OnInitDialog();
   CRect rect(85, 110, 180, 210);

   m_edit.Create(WS_CHILD | WS_VISIBLE | WS_TABSTOP |
                     ES_AUTOHSCROLL | WS_BORDER,
                 rect, this, IDC_EXTRA_EDIT);
   m_edit.SetFocus();
   return FALSE;
}

Düzenleme nesnesini oluşturduktan sonra, üye işlevini çağırarak denetimin giriş odağını SetFocus üzerine de ayarlayabilirsiniz. Son olarak, odağı ayarladığınızı göstermek için 0 OnInitDialog değerini döndürürsiniz. Sıfır olmayan bir değer döndürürseniz, iletişim kutusu yöneticisi odağı iletişim kutusu öğesi listesindeki ilk denetim öğesine ayarlar. Çoğu durumda, iletişim kutusu düzenleyicisiyle iletişim kutularınıza denetimler eklemek istersiniz.

Ayrıca bakınız

Denetimleri Yapma ve Kullanma
Kontroller
CDialog::OnInitDialog