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


Использование элементов управления "Дерево"

Обычное использование элемента управления деревом (CTreeCtrl) следует следующему шаблону:

  • Создается элемент управления. Если элемент управления указан в шаблоне диалогового окна или используется CTreeView, создание происходит автоматически при создании диалогового окна или представления. Если вы хотите создать элемент управления "Дерево" в качестве дочернего окна другого окна, используйте функцию create member.

  • Если вы хотите, чтобы элемент управления "Дерево" использовал изображения, задайте список изображений, вызвав SetImageList. Вы также можете изменить отступ, вызвав SetIndent. Хорошее время для этого - в OnInitDialog (для элементов управления в диалоговых окнах) или OnInitialUpdate (для представлений).

  • Поместите данные в элемент управления, вызвав CTreeCtrlфункцию InsertItem один раз для каждого элемента данных. InsertItem возвращает дескриптор элемента, который можно использовать для последующей ссылки, как например, при добавлении дочерних элементов. Хорошее время для инициализации данных — это в OnInitDialog (для элементов управления в диалоговых окнах) или OnInitialUpdate (для представлений).

  • Когда пользователь взаимодействует с элементом управления, он отправляет различные сообщения уведомления. Вы можете указать функцию для обработки каждого из сообщений, которые требуется обрабатывать, добавив макрос ON_NOTIFY_REFLECT в карту сообщений окна управления или добавив макрос ON_NOTIFY в карту сообщений родительского окна. См. раздел "Сообщения уведомлений об управлении деревом" позже в этой теме для списка возможных уведомлений.

  • Вызовите различные функции-члены Set, чтобы задать значения для элемента управления. Изменения, которые можно внести, включают настройку отступа и изменение текста, изображения или данных, связанных с элементом.

  • Используйте различные функции Get для проверки содержимого элемента управления. Вы также можете просматривать содержимое элемента управления деревом с помощью функций, позволяющих получать дескрипторы для родителей, детей и братьев и сестер указанного элемента. Вы даже можете сортировать дочерние элементы определенного узла.

  • Когда вы закончите работу с элементом управления, убедитесь, что он правильно удалён. Если элемент управления «Дерево» находится в диалоговом окне или в представлении, он и объект CTreeCtrl будут уничтожены автоматически. В противном случае необходимо убедиться, что элемент управления и объект CTreeCtrl уничтожены правильно.

См. также

Использование CTreeCtrl
Элементы управления