Ağaç Denetimlerini Kullanma
Ağaç denetiminin (CTreeCtrl) tipik kullanımı aşağıdaki desene uyar:
Denetim oluşturulur. Denetim bir iletişim kutusu şablonunda belirtilirse veya kullanıyorsanız
CTreeView
, iletişim kutusu veya görünüm oluşturulduğunda oluşturma işlemi otomatik olarak gerçekleştirilir. Ağaç denetimini başka bir pencerenin alt penceresi olarak oluşturmak istiyorsanız Üye oluştur işlevini kullanın.Ağaç denetiminizin görüntüleri kullanmasını istiyorsanız, SetImageList'i çağırarak bir görüntü listesi ayarlayın. Girintiyi, SetIndent'i çağırarak da değiştirebilirsiniz. Bunu yapmak için onInitDialog (iletişim kutularındaki denetimler için) veya OnInitialUpdate (görünümler için) için uygun bir zaman.
Her veri öğesi için 's InsertItem işlevini bir kez çağırarak
CTreeCtrl
verileri denetime yerleştirin.InsertItem
öğeye daha sonra başvurmak için kullanabileceğiniz bir tanıtıcı döndürür; örneğin alt öğeleri eklerken. Verileri başlatmak için iyi bir zaman içindedirOnInitDialog
(iletişim kutularındaki denetimler için) veyaOnInitialUpdate
(görünümler için).Kullanıcı denetimle etkileşim kurarken çeşitli bildirim iletileri gönderir. denetim pencerenizin ileti eşlemesine bir ON_NOTIFY_REFLECT makro ekleyerek veya üst pencerenizin ileti eşlemesine bir ON_NOTIFY makro ekleyerek işlemek istediğiniz iletilerin her birini işlemek için bir işlev belirtebilirsiniz. Olası bildirimlerin listesi için bu konunun devamında yer alan Ağaç Denetimi Bildirim İletileri bölümüne bakın.
Denetimin değerlerini ayarlamak için çeşitli Set member işlevlerini çağırın. Yapabileceğiniz değişiklikler, girintiyi ayarlamayı ve bir öğeyle ilişkili metni, resmi veya verileri değiştirmeyi içerir.
Denetimin içeriğini incelemek için çeşitli Get işlevlerini kullanın. Ayrıca ağaç denetiminin içeriğini belirtilen öğenin üst öğelerine, alt öğelerine ve eşdüzeylerine tanıtıcıları almanıza olanak sağlayan işlevlerle de geçirebilirsiniz. Hatta belirli bir düğümün alt öğelerini de sıralayabilirsiniz.
Denetimi tamamladığınızda, düzgün bir şekilde yok edildiğinden emin olun. Ağaç denetimi bir iletişim kutusundaysa veya bir görünümse, o ve
CTreeCtrl
nesne otomatik olarak yok edilir. Aksi takdirde, hem denetimin hem de nesneninCTreeCtrl
düzgün bir şekilde yok olduğundan emin olmanız gerekir.