Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как в TreeView сделать выделенным NODE по его StateIndex-у? [D7, XP]


Ruslan777 ©   (2009-01-22 10:31:00) 

Добрый день ребята!
Как в TreeView сделать выделенным NODE по его StateIndex-у?
Подскажите!


Ruslan777   (2009-01-22 14:57:00) [1]


> А в чём проблема? Ну не хочешь тупым перебором - строй отдельный
> сортированный список StateIndex-ов, где каждому элементу
> будет поставлен в соответствие нод. И ищи по нему потом
> каким-нибудь половинным делением.

Понял!
Спасибо огромное!


Ega23   (2009-01-22 11:50:00) [2]


> А вот перебор меня смущает! ((


А в чём проблема? Ну не хочешь тупым перебором - строй отдельный сортированный список StateIndex-ов, где каждому элементу будет поставлен в соответствие нод. И ищи по нему потом каким-нибудь половинным делением.

Только:
1. Это геморно.
2. В случае потери парента дерево сохраняет все свои ноды в стрим и при восстановлении парента - сериализует их из стрима. Соответственно, тебе каждый раз нужно список свой перестраивать будет.


MsGuns   (2009-01-22 11:37:00) [3]

А в чем собственно проблема ?


Ruslan777   (2009-01-22 10:55:00) [4]


> 3. Один фиг так делать нельзя.

Вообще то уменя каждому nod-у присвоен уникальный StateIndex....

А вот перебор меня смущает! ((


Ega23   (2009-01-22 10:51:00) [5]

1. У каждого нода есть одно значение StateIndex, но у каждого значения STateIndex может быть много нодов.
2. Если всё-же очень хочется, то:
for i:=0 to TreeView.Items.Count-1 do
 if TreeView.Items[i].StateIndex = Value then
 begin
   TreeView.Selected :=  TreeView.Items[i];
   Break;
 end;

3. Один фиг так делать нельзя.


Наверх

Титульная страница Поиск, карта сайта Написать письмо