Дерево на дрова?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Went
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 103
Зарегистрирован: 01.09.2004 (Ср) 17:25
Откуда: Rostov-on-Don

Дерево на дрова?

Сообщение Went » 17.01.2005 (Пн) 18:37

Вопрос не раз поднимался, но исчерпывающего ответа я так и не получил. Все-таки, как работать с TreeView? Как создавать дочернюю ветвь и как вообще с ними всеми обращаться? Я добился от него лишь работы как ListBox. Помогите, пожалуйста!
Не все ОПЕРАТОРЫ одинаково хороши

timsoft
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 181
Зарегистрирован: 18.10.2003 (Сб) 10:50
Откуда: Odessa, Ukraine

Сообщение timsoft » 17.01.2005 (Пн) 19:04

вот типа заполнение дерева

Код: Выделить всё
 
  'очистим дерево
  TreeView1.Nodes.Clear
  'добавим главную ноду
  Set mNode = TreeView1.Nodes.Add(, , "node 0", "AAAAAA", "root")
  'добавим 10 детей
  for i=1 to 10
    Set mNode = TreeView1.Nodes.Add("node 0", tvwChild, "node " & Format(i), "CHILD " & format(i), "cfolder", "folder")
  next i
tim@ Изображение

Eugenio
Постоялец
Постоялец
 
Сообщения: 393
Зарегистрирован: 08.05.2004 (Сб) 13:27
Откуда: Ekaterinburg

Сообщение Eugenio » 19.01.2005 (Ср) 12:51

У тебя нет справки? На MSDN можно ходить..

Код: Выделить всё
Set NewItem = mTreeView.Nodes.Add(
1. <СуществующийНод>,
2. <Отношение нового к cуществующему ноду>,
3. <УникальныйКлюч>,
4. <Текст (отображающийся в дереве)>,
5. <Номер картинки в ассоциированном с деревом объекте ImageList>,
6. <Номер картинки в ассоциированном с деревом объекте ImageList,
которая отображается, когда этот нод выбран>
)

Добавление дочернего:
Вариант 1.
Код: Выделить всё
Set NewItem = mTreeView.Nodes.Add(ParentNode,tvwChild,ParentNode.Key & "\Child" & ParentNode.Children+1,"Дочерняя ветвь " & ParentNode.Children+1,
ParentNode.Image+1)

Вариант 2.
Код: Выделить всё
ParentKey = mTreeView.Nodes(ParentNodeNum).Key
ChildNum = mTreeView.Nodes(ParentNodeNum).Children+1

Set NewItem = mTreeView.Nodes.Add(ParentNodeNum, tvwChild,ParentKey & "\Child" & ChildNum ,"Дочерняя ветвь " & ChildNum,
ParentNode.Image+1)



Во, отношения:

TvwFirst=0. First: The Node is placed before all other nodes at the same level of the node named in relative.
TvwLast=1. Last: The Node is placed after all other nodes at the same level of the node named in relative. Any Node added subsequently may be placed after one added as Last.
TvwNext=2. (Default) Next: The Node is placed after the node named in relative.
TvwPrevious=3. Previous: The Node is placed before the node named in relative.
TvwChild=4. Child: The Node becomes a child node of the node named in relative.

(relative - это первый параметр)
Последний раз редактировалось Eugenio 19.01.2005 (Ср) 13:01, всего редактировалось 2 раз(а).
Есть ли у меня вопрос? У меня всегда есть вопрос

timsoft
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 181
Зарегистрирован: 18.10.2003 (Сб) 10:50
Откуда: Odessa, Ukraine

Сообщение timsoft » 19.01.2005 (Ср) 12:56

Eugenio писал(а):Первый параметр функции add - это не строковое значение


Читаем MSDN внимательно:
Relative -- Optional. The index number or key of a pre-existing Node

:-)
tim@ Изображение

Eugenio
Постоялец
Постоялец
 
Сообщения: 393
Зарегистрирован: 08.05.2004 (Сб) 13:27
Откуда: Ekaterinburg

Сообщение Eugenio » 19.01.2005 (Ср) 12:58

timsoft писал(а):
Eugenio писал(а):Первый параметр функции add - это не строковое значение


Читаем MSDN внимательно:
Relative -- Optional. The index number or key of a pre-existing Node

:-)

Н-да. :)
Когда-то сделал что-то не так и вызвал ошибку. А запомнил это так, что передавать нужно объект (ну, или индекс). Так и делаю с тех пор - въелось. :)
Есть ли у меня вопрос? У меня всегда есть вопрос


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 18

    TopList