Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Windows onay listesi kutusunun işlevselliğini sağlar.
Sözdizimi
class CCheckListBox : public CListBox
Üyeler
Ortak Oluşturucular
| Veri Akışı Adı | Açıklama |
|---|---|
CCheckListBox::CCheckListBox |
Bir CCheckListBox nesne oluşturur. |
Genel Yöntemler
| Veri Akışı Adı | Açıklama |
|---|---|
CCheckListBox::Create |
Windows onay listesi kutusunu oluşturur ve nesneye CCheckListBox ekler. |
CCheckListBox::DrawItem |
Sahip çizim liste kutusunun görsel bir yönü değiştiğinde çerçeve tarafından çağrılır. |
CCheckListBox::Enable |
Onay listesi kutu öğesini etkinleştirir veya devre dışı bırakır. |
CCheckListBox::GetCheck |
Öğenin onay kutusunun durumunu alır. |
CCheckListBox::GetCheckStyle |
Denetimin onay kutularının stilini alır. |
CCheckListBox::IsEnabled |
Bir öğenin etkinleştirilip etkinleştirilmediğini belirler. |
CCheckListBox::MeasureItem |
Sahip çizim stiline sahip bir liste kutusu oluşturulduğunda çerçeve tarafından çağrılır. |
CCheckListBox::OnGetCheckPosition |
Bir öğenin onay kutusunun konumunu almak için çerçeve tarafından çağrılır. |
CCheckListBox::SetCheck |
Öğenin onay kutusunun durumunu ayarlar. |
CCheckListBox::SetCheckStyle |
Denetimin onay kutularının stilini ayarlar. |
Açıklamalar
"Onay listesi kutusu" dosya adları gibi öğelerin listesini görüntüler. Listedeki her öğenin yanında kullanıcının işaretleyebileceği veya temizleyebileceği bir onay kutusu bulunur.
CCheckListBox yalnızca sahip tarafından çizilmiş denetimler içindir çünkü liste metin dizelerinden daha fazlasını içerir. En basiti, bir onay listesi kutusu metin dizeleri ve onay kutuları içerir, ancak hiç metin içermeniz gerekmez. Örneğin, her öğenin yanında bir onay kutusu bulunan küçük bit eşlemlerin bir listesi olabilir.
Kendi onay listenizi oluşturmak için kendi sınıfınızı öğesinden CCheckListBoxtüretmelisiniz. Kendi sınıfınızı türetmek için türetilen sınıf için bir oluşturucu yazın ve çağrısı yapın Create.
Bir liste kutusu tarafından üst öğesine gönderilen Windows bildirim iletilerini işlemek istiyorsanız (genellikle öğesinden CDialogtüretilen bir sınıf), her ileti için üst sınıfa bir ileti eşleme girdisi ve ileti işleyicisi üye işlevi ekleyin.
Her ileti eşleme girdisi aşağıdaki formu alır:
ON_Notification ( id, memberFxn )
burada id , bildirimi gönderen denetimin alt pencere kimliğini belirtir ve memberFxn bildirimi işlemek için yazdığınız üst üye işlevinin adıdır.
Ebeveynin işlev prototipi aşağıdaki gibidir:
afx_msg void memberFxn();
Özellikle CCheckListBox ilgili olan tek bir ileti eşleme girdisi vardır (ancak için ileti eşleme girdilerine CListBoxde bakın):
ON_CLBN_CHKCHANGEKullanıcı bir öğenin onay kutusunun durumunu değiştirdi.
Onay listeniz varsayılan bir onay listesi kutusuysa (her birinin solunda varsayılan boyutlu onay kutuları olan dizelerin listesi), onay listesi kutusunu çizmek için varsayılanı CCheckListBox::DrawItem kullanabilirsiniz. Aksi takdirde, işlevini ve CCheckListBox::DrawItem ve CCheckListBox::MeasureItem işlevlerini geçersiz kılmanız CListBox::CompareItem gerekir.
Bir iletişim kutusu şablonundan veya doğrudan kodunuzda bir onay listesi kutusu oluşturabilirsiniz.
Devralma Hiyerarşisi
CCheckListBox
Gereksinimler
Üstbilgi: afxwin.h
CCheckListBox::CCheckListBox
Bir CCheckListBox nesne oluşturur.
CCheckListBox();
Açıklamalar
İki adımda bir CCheckListBox nesne oluşturursunuz. önce öğesinden CCheckListBoxtüretilmiş bir sınıf tanımlayın, ardından Windows onay listesini başlatan ve nesnesine ekleyen öğesini çağırınCreateCCheckListBox.
Örnek
CCheckListBox myCheckListBox;
myCheckListBox.Create(LBS_HASSTRINGS | LBS_OWNERDRAWFIXED,
CRect(10, 10, 100, 100), this, IDC_MYCHECKLISTBOX);
CCheckListBox::Create
Windows onay listesi kutusunu oluşturur ve nesneye CCheckListBox ekler.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parametreler
dwStyle
Onay listesi kutusunun stilini belirtir. Stil ve olmalıdır LBS_HASSTRINGS ( LBS_OWNERDRAWFIXED listedeki tüm öğeler aynı yüksekliktedir) veya LBS_OWNERDRAWVARIABLE (listedeki öğeler farklı yüksekliklerdedir). Bu stil dışındaki LBS_USETABSTOPSdiğer liste kutusu stilleriyle birleştirilebilir.
rect
Onay listesi kutusu boyutunu ve konumunu belirtir. Nesne veya RECT yapı olabilirCRect.
pParentWnd
Onay listesi kutusunun üst penceresini (genellikle bir CDialog nesne) belirtir. NULL olmamalıdır.
nID
Denetim listesi kutusunun denetim kimliğini belirtir.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
İki adımda bir CCheckListBox nesne oluşturursunuz. İlk olarak, öğesinden CcheckListBox türetilen bir sınıf tanımlayın ve ardından Windows onay listesini başlatan ve öğesine ekleyen öğesini çağırınCreateCCheckListBox. Örnek için bkz CCheckListBox::CCheckListBox .
YürütülürkenCreate, Windows , WM_CREATE, WM_NCCALCSIZEve WM_GETMINMAXINFO iletilerini onay listesi denetimine gönderirWM_NCCREATE.
Bu iletiler varsayılan olarak temel sınıftaki OnNcCreate, OnCreate, OnNcCalcSizeve OnGetMinMaxInfo üye işlevleri CWnd tarafından işlenir. Varsayılan ileti işlemeyi genişletmek için türetilmiş sınıfa bir ileti eşlemesi ekleyin ve önceki ileti işleyicisi üye işlevlerini geçersiz kılın. Örneğin, yeni bir sınıf için gerekli başlatmayı gerçekleştirmek için öğesini geçersiz kılın OnCreate.
Denetim listesi-kutusu denetimine aşağıdaki pencere stillerini uygulayın:
WS_CHILDHer zamanWS_VISIBLEGeneldeWS_DISABLEDNadirenWS_VSCROLLDikey kaydırma çubuğu eklemek içinWS_HSCROLLYatay kaydırma çubuğu eklemek içinWS_GROUPDenetimleri gruplandırmak içinWS_TABSTOPBu denetime sekmeyle bağlanmaya izin vermek için
CCheckListBox::DrawItem
Sahip tarafından çizilmiş bir onay listesi kutusunun görsel yönü değiştiğinde çerçeve tarafından çağrılır.
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
Parametreler
lpDrawItemStruct
Gerekli çizim türü hakkında bilgi içeren bir yapıya uzun bir DRAWITEMSTRUCT işaretçi.
Açıklamalar
itemAction Yapının ve itemState üyeleriDRAWITEMSTRUCT, gerçekleştirilecek çizim eylemini tanımlar.
Varsayılan olarak, bu işlev varsayılan bir onay kutusu listesi çizer ve her biri varsayılan boyutlu onay kutusu sola olan dizelerin bir listesinden oluşur. Onay kutusu liste boyutu, içinde Createbelirtilendir.
Bu üye işlevini geçersiz kılarak varsayılan olmayan sahip-çizim onay listesi kutularının (örneğin, dize olmayan liste içeren onay listesi kutuları, değişken yüksekliği öğeleri veya sol tarafta olmayan onay kutuları) çizimini uygulayın. Uygulama, bu üye işlevinin sonlandırılmasından önce içinde lpDrawItemStruct sağlanan görüntü bağlamı için seçilen tüm grafik cihaz arabirimi (GDI) nesnelerini geri yüklemelidir.
Onay listesi kutusu öğelerinin tümü aynı yükseklikte değilse, onay listesi kutusu stili (içinde Createbelirtilen) olmalıdır LBS_OWNERVARIABLEve işlevi geçersiz kılmanız MeasureItem gerekir.
CCheckListBox::Enable
Onay listesi kutu öğesini etkinleştirmek veya devre dışı bırakmak için bu işlevi çağır.
void Enable(
int nIndex,
BOOL bEnabled = TRUE);
Parametreler
nIndex
Etkinleştirilecek onay listesi kutusu öğesinin dizini.
bEnabled
Öğenin etkin mi yoksa devre dışı mı olduğunu belirtir.
CCheckListBox::GetCheck
Belirtilen onay kutusunun durumunu alır.
int GetCheck(int nIndex);
Parametreler
nIndex
Liste kutusunda yer alan bir onay kutusunun sıfır tabanlı dizini.
Dönüş Değeri
Belirtilen onay kutusunun durumu. Aşağıdaki tabloda olası değerler listelemektedir.
| Value | Açıklama |
|---|---|
BST_CHECKED |
Onay kutusu işaretlidir. |
BST_UNCHECKED |
Onay kutusu işaretlenmemiş. |
BST_INDETERMINATE |
Onay kutusu durumu belirsiz. |
CCheckListBox::GetCheckStyle
Onay listesi kutusunun stilini almak için bu işlevi çağırın.
UINT GetCheckStyle();
Dönüş Değeri
Denetimin onay kutularının stili.
Açıklamalar
Olası stiller hakkında bilgi için bkz SetCheckStyle. .
CCheckListBox::IsEnabled
Bir öğenin etkinleştirilip etkinleştirilmediğini belirlemek için bu işlevi çağır.
BOOL IsEnabled(int nIndex);
Parametreler
nIndex
Öğenin dizini.
Dönüş Değeri
Öğe etkinse sıfır olmayan; aksi takdirde 0.
CCheckListBox::MeasureItem
Varsayılan olmayan stile sahip bir onay listesi kutusu oluşturulduğunda çerçeve tarafından çağrılır.
virtual void MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct);
Parametreler
lpMeasureItemStruct
Bir yapıya uzun bir MEASUREITEMSTRUCT işaretçi.
Açıklamalar
Varsayılan olarak, bu üye işlevi hiçbir şey yapmaz. Bu üye işlevini geçersiz kılın ve Onay listesi öğelerinin MEASUREITEMSTRUCT boyutlarını Windows'a bildirmek için yapıyı doldurun. Denetim listesi kutusu stille LBS_OWNERDRAWVARIABLE oluşturulursa, çerçeve liste kutusundaki her öğe için bu üye işlevini çağırır. Aksi takdirde, bu üye yalnızca bir kez çağrılır.
CCheckListBox::OnGetCheckPosition
Çerçeve, bir öğedeki onay kutusunun konumunu ve boyutunu almak için bu işlevi çağırır.
virtual CRect OnGetCheckPosition(
CRect rectItem,
CRect rectCheckBox);
Parametreler
rectItem
Liste öğesinin konumu ve boyutu.
rectCheckBox
Öğenin varsayılan konumu ve boyutu onay kutusu.
Dönüş Değeri
Öğenin konumu ve boyutu onay kutusu.
Açıklamalar
Varsayılan uygulama yalnızca onay kutusunun (rectCheckBox) varsayılan konumunu ve boyutunu döndürür. Varsayılan olarak, bir öğenin sol üst köşesine bir onay kutusu hizalanır ve standart onay kutusu boyutudur. Sağdaki onay kutularının veya daha büyük veya daha küçük bir onay kutusunun olmasını istediğiniz durumlar olabilir. Böyle durumlarda, öğenin içindeki onay kutusunun konumunu ve boyutunu değiştirmek için geçersiz kılın OnGetCheckPosition .
CCheckListBox::SetCheck
Belirtilen onay kutusunun durumunu ayarlar.
void SetCheck(
int nIndex,
int nCheck);
Parametreler
nIndex
Liste kutusunda yer alan bir onay kutusunun sıfır tabanlı dizini.
nCheck
Belirtilen onay kutusunun düğme durumu. Olası değerler için Açıklamalar bölümüne bakın.
Açıklamalar
Aşağıdaki tabloda parametresi için olası değerler listelemektedir nCheck .
| Value | Açıklama |
|---|---|
BST_CHECKED |
Belirtilen onay kutusunu seçin. |
BST_UNCHECKED |
Belirtilen onay kutusunu temizleyin. |
BST_INDETERMINATE |
Belirtilen onay kutusu durumunu belirsiz olarak ayarlayın. Bu durum yalnızca onay kutusu stili veya BS_3STATEise BS_AUTO3STATE kullanılabilir. Daha fazla bilgi için bkz . Düğme Stilleri. |
CCheckListBox::SetCheckStyle
Onay listesi kutusundaki onay kutularının stilini ayarlamak için bu işlevi çağırın.
void SetCheckStyle(UINT nStyle);
Parametreler
nStyle
Onay listesi kutusundaki onay kutularının stilini belirler.
Açıklamalar
Geçerli stiller şunlardır:
BS_CHECKBOXBS_AUTOCHECKBOXBS_AUTO3STATEBS_3STATE
Bu stiller hakkında bilgi için bkz . Düğme Stilleri.