Синтаксис элемента управления treeView и как с ним работать

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
kinrew
Новичок
Новичок
 
Сообщения: 26
Зарегистрирован: 15.02.2006 (Ср) 18:02
Откуда: Москва

Синтаксис элемента управления treeView и как с ним работать

Сообщение kinrew » 15.02.2006 (Ср) 18:42

Здравствуйте всем!
Помогите, пожалуйста, с элементом управления treeView, входящим в Microsoft Windows Common Controls 6.0.
Ни 6-й, ни 2005-й Msdn не дают полной справки: в 6-м слишком коротко, а в 2005-м под .NET и,поэтому, не работает.
Пробовал искать в интернете, но нашёл только эту статью: http://www.emanual.ru/download/www.eManual.ru_49.html Но тут слишком коротко и для написания проги не хватает.
Идеальный вариант - найти полное описание этого контрола и всех входящих в него параметров. Или, хотябы , если кто знает, то ответте на даные вопросы:
1)возможно ли искать узел в дереве по названию?
2)как перемещаться от родителя к одному из сыновей не по названию, а по номеру или последовательности?
3)как производить эту процедуру в обратном порядке?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 15.02.2006 (Ср) 18:47

1. По названию нельзя, по ключу вполне можно.
2. Перейти на потомка (Set Node = Node.Child), а затем N-1 раз сделать Set Node = Node.NextSibling.
3. Аналогично п.2, только не Child, а Parent.

Насчет точного написания не уверен, в справку лезть долго. Но в MSDN все описано достаточно подробно. Глянь тут.
Lasciate ogni speranza, voi ch'entrate.

kinrew
Новичок
Новичок
 
Сообщения: 26
Зарегистрирован: 15.02.2006 (Ср) 18:02
Откуда: Москва

Сообщение kinrew » 15.02.2006 (Ср) 19:28

А как по ключу искать?

Спасибо за инфу с msdn'a, но я ёё видел и не хватило. У treeView около 50-ти параметров, если не больше, а в проекте предполагается достаточно серьёзное использование этого контрола

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 16.02.2006 (Чт) 2:17

Не хватило, говоришь? Ну назови хоть одно свойство контрола, которое там не описано...

kinrew
Новичок
Новичок
 
Сообщения: 26
Зарегистрирован: 15.02.2006 (Ср) 18:02
Откуда: Москва

Сообщение kinrew » 16.02.2006 (Чт) 22:06

Извините, не досмотрел другие разделы!
Всё нашёл, очень помогло!
Огромное спасибо!
Последний раз редактировалось kinrew 14.03.2006 (Вт) 22:18, всего редактировалось 1 раз.

kinrew
Новичок
Новичок
 
Сообщения: 26
Зарегистрирован: 15.02.2006 (Ср) 18:02
Откуда: Москва

Сообщение kinrew » 14.03.2006 (Вт) 22:10

А как искать в дереве узел, хотябы по ключу?

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 14.03.2006 (Вт) 22:26

Как с коллекциями работать, знаешь? Так вот свойство Treeview.Nodes - это коллекция узлов.

lister
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 389
Зарегистрирован: 15.01.2005 (Сб) 7:34
Откуда: Страна оления

Сообщение lister » 14.03.2006 (Вт) 22:32

kinrew, многое о контроле можно узнать в Object Browser - нажми F2, выбирай нужную библиотеку, затем класс, свойство (например) и читай описание...

Кстати, что ты имеешь ввиду под фразой искать узел в дереве по названию? Если искать по тексту, который отображается в узле, то вымудриться можно... но только если этот текст в дереве уникален.
Последний раз редактировалось lister 14.03.2006 (Вт) 22:37, всего редактировалось 1 раз.

kinrew
Новичок
Новичок
 
Сообщения: 26
Зарегистрирован: 15.02.2006 (Ср) 18:02
Откуда: Москва

Сообщение kinrew » 14.03.2006 (Вт) 22:45

Ennor писал(а):Как с коллекциями работать, знаешь? Так вот свойство Treeview.Nodes - это коллекция узлов.

Не очень. Можно в цыкле For Each узел In TreeView.Nodes If узел.Key = Then..... ?

Мне требуется найти по названию папки узел с таким же ключём или именем (все названия уникальны и их имена и ключи одинаковы). Т.е. текст, отображаемый в дереве и уникальный ключ этого узла одинаковы и нужно по этому ключу или тексту найти этот узел в дереве и ему добавить дочерний.

lister
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 389
Зарегистрирован: 15.01.2005 (Сб) 7:34
Откуда: Страна оления

Сообщение lister » 14.03.2006 (Вт) 22:56

Если мне память не изменяет, то:

1) Node.Name не существует...

2) попробуй так:
Dim N As Node

Set N = tree.Nodes(Key)

kinrew
Новичок
Новичок
 
Сообщения: 26
Зарегистрирован: 15.02.2006 (Ср) 18:02
Откуда: Москва

Сообщение kinrew » 14.03.2006 (Вт) 23:08

так заранее все ключи-то не извесны

lister
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 389
Зарегистрирован: 15.01.2005 (Сб) 7:34
Откуда: Страна оления

Сообщение lister » 14.03.2006 (Вт) 23:11

ключи нужно задавать при формировании дерева


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 113

    TopList