Элементы родительского узла и дочернего элемента управления дерева
Любой элемент управления " дерево " (CTreeCtrl) может содержать список подэлементов, которые называются элементами дочернего элемента, связанного с ним.Элемент, имеющий один или несколько элементов дочернего элемента называется родительским элементом.Элемент дочернего элемента отображается под ее родительским элементом и отступа для указания того, что он субординационн к родительскому элементу.Элемент, который не имеет родительского с вершины иерархии и называется корневым элементом.
В любой момент времени состояние родительского элемента списка дочерних элементов можно развернуть или свернуть.Если состояние развернут, дочерние элементы выводятся под родительским элементом.Если он свернут, дочерние элементы не отображаются.Список автоматически переключение между состояниями развернутыми и свернутыми когда пользователь дважды щелкает родительский элемент или, если родительский имеет стиль TVS_HASBUTTONS, когда пользователь нажимает кнопку, связанная с родительским элементом.Приложение может развернуть или свернуть дочерние элементы с помощью функции-члена Развернуть.
Добавлении элемента к элементу управления дерева путем вызова функции-члена InsertItem.Эта функция возвращает дескриптор типа HTREEITEM, который уникальным образом определяет элемент.При добавлении элемента необходимо указать дескриптор нового элемента родительского элемента.При указании NULL или значение TVI_ROOT вместо родительского маркера элемента в структуре TVINSERTSTRUCT или параметре hParent, то элемент добавляется в качестве корневой элемент.
Элемент управления " дерево " отправляет сообщение уведомления TVN_ITEMEXPANDING, если список родительского элемента дочерних элементов можно развернуть или свернутым.Уведомление позволяет предотвратить изменение или задать всех атрибутов родительского элемента, которые зависят от состояния списка дочерних элементов.После изменения состояния списка элемент управления " дерево " отправляет сообщение уведомления TVN_ITEMEXPANDED.
Если список дочерних элементов развернут, он отступ относительно родительского элемента.Можно задать величину отступа с помощью функции-члена SetIndent или получить текущее число с помощью функции-члена GetIndent.