![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Прямой доступ к ноду.
Fenix © (2006-03-19 16:12:00)Доброго времени суток.
у меня есть TStringList.
и зная номер записи, мне надо заменить имя нода. но у меня ноды имеют такоую структуру:
ветка 1
--нод 0
--нод 1
ветка 2
--нод 3
--нод 4
--нод 5
как не проверяя в цикле его имя можно поменять имя ноду?
TreeView1.Items.Item[ID].Text:=UserInfo[ID].UserName;
так неработает... он берет во внимание и ветки...
Наиль (2006-03-19 23:51:00) [1]Не знаю правильно ли я угадал, но подозреваю, что текст в дерево берётся из Strings. Тогда достаточно в свойство Objects в Strings'ax заносить Ноды.
А обращаться к любому из них, например, так:
TTreeNode(Strings.Objects[index]).Caption:=Strings[index]
Fenix (2006-03-19 17:58:00) [2]У меня есть Strings в нем допустим такие строки:
0:'нулевая строка'
1:'Первая строка'
2:'Вторая строка'
и есть TreeView со структурой:
Ветка 0
--Нод 0 //Его текст 'нулевая строка'
--нод 1 //его текст 'Первая строка'
Ветка 1
--нод 2 //его строка 'Вторая строка'
допустим я знаю что у меня Strings[2].text='Вторая строка'
но как мне зная индекс (в данном случае это 2) напрямую работать с нужным мне нодом? не используя цикла
for i:=0 to TreeView1.items.count-1 do if (TreeView1.items.item[i].text=Strings[2].text) then begin
....
end;
вот это сделано циклом... перебором всех нодов. Но я хочу узнать можно ли обратиться напрямую к Ноду который имеет уровень 1. (у меня все ноды или 0 или 1 уровня). Просто если дерево большое, то может занимать много времени.
YurikGL (2006-03-19 17:39:00) [3]
> у меня есть TStringList.
TTreeView ?
И напиши подробнее что хочешь.... какие названия и у чего были и какие названия и у чего ты хочешь получить.