Тема: TreeView

Доброго времени суток.
Подскажите пожалуйста. Как в VBA создать видовое дерево. Возможно ли это?

Re: TreeView

Попробуй поискать в подключаемых ocx-ах. Там вроде было.

Re: TreeView

> Maxim
Я не понимаю что значит видовое
Если ты имеешь в виду отображение иконок
в узлах древа, попробуй такой метод
(измени пути для иконок)

Private Sub UserForm_Initialize()
 Dim iml As ImageList
 Set iml = New ImageList
 iml.ListImages.Add , "closed", LoadPicture("C:\MyVBA\FolderClosed.bmp")
 iml.ListImages.Add , "open", LoadPicture("C:\MyVBA\FolderOpen.bmp")
' тут добавь картинок сколько тебе нужно
 Set tvPics.ImageList = iml
 tvPics.Nodes.Clear
 tvPics.Nodes.Add , , "A1", "Root Folder", "closed"
 tvPics.Nodes.Add "A1", tvwChild, "b1", "SubFolder1-0", "closed"
 tvPics.Nodes.Add "b1", tvwChild, "c1", "SubFolder2-0", "open"
 tvPics.Nodes.Add "A1", tvwChild, "b2", "SubFolder1-1", "closed"
 tvPics.Nodes.Add "b2", tvwChild, "c2", "SubFolder2-2", "open"
 tvPics.Nodes.Add "A1", tvwChild, "b3", "SubFolder1-3", "closed"
 tvPics.Nodes.Add "b3", tvwChild, "c3", "SubFolder2-3", "open"
 tvPics.Nodes.Add "A1", tvwChild, "b4", "SubFolder1-4", "closed"
 tvPics.Nodes.Add "b4", tvwChild, "c4", "SubFolder2-4", "open"
End Sub

~'J'~

Re: TreeView

Если добавить форму и вкликнуть правой кнопкой на ToolBox то я могу подключить элемент CTreeView. Но я не пойму как с ним работать. Где хоть справку по нему достать. Просто я хочу организовать вставку блоков в виде "дерева".
Попробовал способ fixo, добавил на форму управляющий элемент ImageList. При запуске ошибка object required.

Re: TreeView

> Maxim
Не надо добавлять на форму никакой ImageList -
если бы посмотрел внимательно, то увидел бы что он
создается програмно при инициализации формы
Переименуй TreeView1 на tvPics как у меня
в коде и все будет работать
~'J'~

Re: TreeView

Чтобы TreeView нормально у всех работал надо в references подключить Microsoft Windows Common Controls 5.0(SP2), затем в тулбокс добавить TreeView и перетянуть его на форму.
У этого элемента управления есть один основной объект Nodes(узлы) методы которого могут добавлять, фильтровать, удалять, добавлять иконки и т.д Метод add добавляет узел, у него четыре параметра, первые два не обязательные, третий KEY-обязательный и уникальный, последний Name-обязательный может повторятся. Примерно так:
Dim TW as TreeView
KEY=array("Иванов","Петров")
NAME=array("Иван","Петя")
TW = TreeView1.Nodes.Add(, , KEY(0), KEY(0))
TW = TreeView1.Nodes.Add(KEY(0),tvwChild,"A", NEME(0))
TW = TreeView1.Nodes.Add(, , KEY(1), KEY(1))
TW = TreeView1.Nodes.Add(KEY(1),tvwChild,"B", NEME(1))
Результат:
Иванов
-Иван
Петров
-Петя
А как дальше сам поймешь.

Re: TreeView

Если первые два параметра у метода Add опущены, то создается основной узел(родительский). Если первый параметр - KEY какого либо основного узла, второй -tvwChild, третий- новый уникальный KEY, четвертый NAME, то появится дочерний узел к овноному узлу по ключу первого параметра.Вот.

Re: TreeView

Подскажите пожалуйста как сделать так, чтобы в treeview все nodes располагались иерархично?

Re: TreeView

2igor
внимательно читай http://www.xserver.ru/computer/sredaprogr/msvb/21/