El İle 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 kutusunun sınıf bildiriminde bir CEdit
nesneyi nasıl bildirip içinde üye işlevini OnInitDialog
çağırabileceğinizi Create
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şlev bir dikdörtgen ayarlar, ardından Windows düzenleme denetimini oluşturmak ve başlatılmamış CEdit
nesneye eklemek için çağırırCreate
.
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 giriş odağını denetime SetFocus
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 bkz.
Denetimleri Yapma ve Kullanma
Denetimler
CDialog::OnInitDialog