Aracılığıyla paylaş


Ağaç denetimi madde durumları genel bakış

Ağaç yapısında denetim içindeki her öğenin (CTreeCtrl) geçerli durumu vardır.Örneğin, bir madde, devre dışı bırakılmış, genişletilmiş vb. seçilebilir.Ağaç denetimi çoğunlukla, öğenin durumu bir öğenin seçimini gibi kullanıcı eylemleri yansıtacak şekilde otomatik olarak ayarlar.Ancak, ayrıca öğenin durumunu kullanarak ayarlayabilirsiniz SetItemState üye işlev ve Al'ı kullanarak bir öğeyi geçerli durumunu GetItemState üye işlevi.Madde durumlarının tam listesi için bkz: Ağaç görünümü denetiminin sabitler , Windows SDK.

Öğenin geçerli durumunu tarafından belirlenen nState parametresi.Ağaç denetimi maddeyi seçerek veya odak öğesi gibi bir kullanıcı eylemi yansıtacak şekilde bir öğenin durumu değişebilir.Buna ek olarak, bir uygulama bir öğenin durumu öğesini gizlemek veya devre dışı bırakmak ya da kaplama resim veya görüntü durumunu belirlemek için değişebilir.

Belirttiğinizde veya öğenin durumunu değiştirme nStateMask parametresini ayarlamak için hangi durum bitleri belirtir ve nState parametresi bu bitler için yeni değerler içerir.Örneğin, aşağıdaki örnek üst öğenin geçerli durumunu değiştirir (tarafından belirtilen hParentItem), bir CTreeCtrl nesne (m_treeCtrl) için TVIS_EXPANDPARTIAL:

TVITEM curItem;
HTREEITEM hParentItem;

hParentItem = m_TreeCtrl.GetSelectedItem();

//modify the parent item to keep the '+' sign
curItem.mask = TVIF_STATE | TVIF_HANDLE;
curItem.hItem = hParentItem;
curItem.state = TVIS_EXPANDPARTIAL;
curItem.stateMask = TVIS_EXPANDPARTIAL;
m_TreeCtrl.SetItem(&curItem);

Bir öğenin kaplama resmi ayarlamak için durumu değiştirmenin başka bir örnek olacaktır.Bunu başarmak için nStateMask içermelidir TVIS_OVERLAYMASK değeri ve nState sekiz bit kullanarak sol bir tabanlı dizin kaydırılacağı uzaklık bindirme görüntüsünün içermelidir INDEXTOOVERLAYMASK makro.Hiçbir kaplama resmini belirtmek için 0 dizin olabilir.Bindirme görüntüsünü ağaç denetimin kaplama görüntülerin listesi için önceki bir çağrı tarafından eklenmiş olması gerekir CImageList::SetOverlayImage işlevi.İşlev eklemek için görüntü tabanlı bir dizin belirtir; Bu dizin ile kullanılan, INDEXTOOVERLAYMASK makro.Ağaç denetimi dört kaplama yansımaları olabilir.

Bir öğenin durumu resmi ayarlamak için nStateMask içermelidir TVIS_STATEIMAGEMASK değeri ve nState 12 bit kullanarak sol bir tabanlı dizini kaydırılacağı uzaklık durumu resmi içermelidir INDEXTOSTATEIMAGEMASK makro.Hiçbir durum resmini belirtmek için 0 dizin olabilir.Kaplama ve durumunu görüntüler hakkında daha fazla bilgi için bkz: Ağaç, görüntü denetim listeleri.

Ayrıca bkz.

Başvuru

CTreeCtrl kullanma

Kavramlar

Denetimleri (mfc)