Aracılığıyla paylaş


Ağaç Denetim Görüntü Listeleri

Ağaç denetimindeki (CTreeCtrl) her öğenin kendisiyle ilişkilendirilmiş bir çift bit eşlemli görüntüsü olabilir. Resimler, bir öğenin etiketinin sol tarafında görünür. Bir resim, öğe seçildiğinde, diğeri ise öğe seçilmediğinde görüntülenir. Örneğin, bir öğe seçildiğinde açık bir klasör ve seçili olmadığında kapalı bir klasör görüntüleyebilir.

Öğe görüntülerini kullanmak için, CImageList nesnesi oluşturarak ve ilişkili görüntü listesini oluşturmak için CImageList::Create işlevini kullanarak bir görüntü listesi oluşturmanız gerekir. Ardından istediğiniz bit eşlemleri listeye ekleyin ve SetImageList üye işlevini kullanarak listeyi ağaç denetimiyle ilişkilendirin. Varsayılan olarak, tüm öğeler hem seçili hem de seçilmemiş durumlar için görüntü listesindeki ilk görüntüyü görüntüler. InsertItem üye işlevini kullanarak öğeyi ağaç denetimine eklerken seçili ve seçilmemiş görüntülerin dizinlerini belirterek belirli bir öğenin varsayılan davranışını değiştirebilirsiniz. SetItemImage üye işlevini kullanarak bir öğe ekledikten sonra dizinleri değiştirebilirsiniz.

Ağaç denetiminin görüntü listeleri, öğe görüntülerinin üzerine gelecek şekilde tasarlanmış katman görüntüleri de içerebilir. Ağaç denetim öğesinin durumunun 8 ile 11 arasında bitlerindeki sıfır olmayan bir değer, katman görüntüsünün tek tabanlı dizinini belirtir (0, katman görüntüsü olmadığını belirtir). 4 bit, tek tabanlı dizin kullanıldığından yer paylaşımlı görüntülerin görüntü listelerindeki ilk 15 resim arasında yer alması gerekir. Ağaç denetim öğesi durumları hakkında daha fazla bilgi için bu konunun önceki bölümlerinde yer alan Ağaç Denetim Öğesi Durumlara Genel Bakış bölümüne bakın.

Durum görüntüsü listesi belirtilirse, ağaç denetimi her öğenin simgesinin solunda bir durum görüntüsü için yer ayırır. Uygulama, uygulama tanımlı öğe durumlarını belirtmek için işaretli ve temizlenmiş onay kutuları gibi durum görüntülerini kullanabilir. Bit 12 ile 15 arasında sıfır olmayan bir değer, bir durum görüntüsünün tek tabanlı dizinini belirtir (0, durum görüntüsü olmadığını gösterir).

Görüntünün dizini yerine I_IMAGECALLBACK değerini belirterek, öğe yeniden çizilecek olana kadar seçili veya seçilmemiş görüntüyü belirtmeyi geciktirebilirsiniz. I_IMAGECALLBACK, TVN_GETDISPINFO bildirim iletisini göndererek ağaç denetimini dizin için uygulamayı sorgulamaya yönlendirir.

GetImageList üye işlevi, ağaç denetiminin görüntü listesinin tutamacını alır. Listeye daha fazla resim eklemeniz gerekiyorsa bu işlev kullanışlıdır. Görüntü listeleri hakkında daha fazla bilgi için bkz. MFC Başvurusunda CImageList, CImageList kullanma ve Windows SDK'sında Görüntü Listeleri.

Ayrıca bkz.

CTreeCtrl Kullanma
Denetimler