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


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

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

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

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

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

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

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

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

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

См. также

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