Поделиться через


Родительские и дочерние элементы древовидного элемента управления

Любой элемент в элементе управления дерева (CTreeCtrl) может содержать список подэлементов, которые называются дочерними элементами, связанный с ним. Элемент, содержащий один или несколько дочерних элементов называется родительским элементом. Дочерний элемент отображается под его родительским элементом и отступ для обозначения того, что он субординационн к родительскому элементу. Элемент, который не имеет родительского вершины иерархии и называется корневым элементом.

В любой момент времени, состояние родительского элемента списка дочерних элементов можно развернуть или свернуть. Если состояние развернуто, дочерние элементы выводятся под родительским элементом. Если он свернут, дочерние элементы не отображаются. Список автоматически переключение между развернутыми и свернутыми состояниями, когда пользователь дважды щелкает родительский элемент или, если родительский имеет стиль TVS_HASBUTTONS, когда пользователь нажимает кнопку, связанной с родительским элементом. Приложение может развернуть или свернуть дочерние элементы с помощью функции-члена Развернуть.

Элемент добавляется в элемент управления дерева, вызвав функцию-член InsertItem. Эта функция возвращает дескриптор типа HTREEITEM, который уникальным образом определяет элемент. При добавлении элемента необходимо указать дескриптор нового элемента родительского элемента. Если указано значение NULL или TVI_ROOT вместо обработки родительского элемента в структуре TVINSERTSTRUCT или параметра hParent, то элемент добавляется как корневой элемент.

Элемент управления "Дерево" отправляет сообщение уведомления TVN_ITEMEXPANDING родительского элемента, если список дочерних элементов или быть примерно развернутым свернутым. Уведомление дает возможность предотвратить изменение или задать все атрибуты родительского элемента, зависят от состояния списка дочерних элементов. После изменения состояния списка, элемент управления "Дерево" отправляет сообщение уведомления TVN_ITEMEXPANDED.

Если список дочерних элементов развернут, он иметь отступ относительно родительского элемента. Можно задать количество отступов с помощью функции-члена SetIndent или извлечь текущий объем с помощью функции-члена GetIndent.

См. также

Ссылки

Использование CTreeCtrl

Основные понятия

Элементы управления (MFC)