Элемент управления TreeView предназначен для представления в виде дерева иерархических структур данных - таких как, например, указатель к документу или множество файлов и папок на диске.
Публикуется с разрешения авторов. (С) Андрей Колесов, Ольга Павлова Вперые опубликовано в электронной версии журнала "Мир ПК" N 3/99 | | Элемент управления TreeView предназначен для представления в виде дерева иерархических структур данных - таких как, например, указатель к документу или множество файлов и папок на диске. Дерево состоит из узлов - объектов Node. На экране узлы представляются текстом, изображением или комбинацией того и другого в зависимости от свойства Style объекта TreeView (всего предусмотрено восемь вариантов), а связи между узлами - линиями. Знак + указывает на наличие у узла свернутого поддерева, которое можно развернуть и сделать видимым, знак - - на возможность свернуть развернутое поддерево. Изображения для узлов дерева хранятся в элементе управления ImageList. В каждый момент TreeView связан только с одним набором изображений ImageList, поэтому все изображения в дереве (если стиль предусматривает вывод графики) имеют один и тот же размер. Пользователь управляет объектом TreeView с помощью мыши или клавиатуры. Перечислим доступные клавиатурные команды. - <Стрелка вниз/вверх> - циклический переход к следующему/предыдущему видимому узлу (порядок узлов - слева направо и сверху вниз; за последним узлом следует первый).
- <Стрелка вправо>: если текущий узел имеет дочерние и не развернут, он разворачивается, в противном случае происходит циклический переход к следующему видимому узлу.
- <Стрелка влево>: если текущий узел имеет дочерние и развернут, он сворачивается, в противном случае происходит циклический переход к предыдущему видимому узлу.
- <Буква или цифра>: переход к следующему узлу, название которого начинается с этой буквы (цифры). Не видимые в данный момент узлы разворачиваются.
Для управления деревом из программы используются свойства и методы объектов Node. Перемещение от одного узла к другому обеспечивают свойства Root (корневой узел), Parent (родительский узел), Child (дочерний узел), FirstSibling, Next, Previous и LastSibling (соответственно первый, следующий, предыдущий и последний в группе узлов, дочерних для одного и того же родительского). Предусмотрены методы для добавления и удаления узлов, свертывания и развертывания поддеревьев и т. д. Пример использования TreeView Для построения этого примера нам понадобится база данных Northwind, входящая в состав Office 97. Добавив к пользовательской форме элемент управления Microsoft TreeView Control, version 5.0, выполните следующие шаги: - Чтобы обеспечить работу с базой данных Northwind, установите связь с объектной библиотекой DAO 3.5: выберите в меню Tools ("Сервис") команду References ("Ссылки") и в появившемся окне отметьте Microsoft DAO 3.5 Object Library.
- Для свойства Name элемента TreeView установите значение tvwODE.
- Для свойства Caption пользовательской формы установите значение "Элемент управления TreeView".
- В окне кода введите следующий текст:
Option Explicit Public mdbNWind As Database Public nodODE As Node Public rsProducts As Recordset Private Sub UserForm_Initialize() ' Открытие базы данных Northwind Set mdbNWind = DBEngine.OpenDatabase _ ("c:program filesdevstudiovb wind.mdb") ' Добавление объекта Node Set nodODE = tvwODE.Nodes.Add(, , "r", "Products") ' Открытие набора записей, содержащего одно поле ' из таблицы Products Set rsProducts = mdbNWind.OpenRecordset _ ("SELECT Products.ProductName FROM Products;") Dim intCounter As Integer ' Добавление узлов для вывода названий продуктов For intCounter = 1 To 4 ' Добавление объекта Node Set nodODE = tvwODE.Nodes.Add(1, tvwChild) ' Установка свойства Text nodODE.Text = rsProducts!PRODUCTNAME ' Переход к следующей записи rsProducts.MoveNext Next intCounter End Sub - Запустите пример на выполнение. Дважды щелкните по узлу Products в дереве и выведите узлы с названиями продуктов.
Просмотров: 13991
Ваш коментарий будет первым | | |