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

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

Новые объекты в TreeView.


Sholah_Weras ©   (2007-01-04 15:41:00) 

Здравствуйте!
Надо добавить в TreeView новую строку (элемент) в строго указанном месте.
Например есть сторока "Дома", в нее надо добавить подпункт "Дом1", ну или "Дом2". Как это сделать?

Заранее благодарен.


Sholah_Weras   (2007-01-04 19:33:00) [1]

Сердечно благодарю.


trubin   (2007-01-04 18:47:00) [2]


> ChildNode := TreeView1.Items.AddChild(RootNode, 'Дом1');
> ChildNode := TreeView1.Items.AddChild(RootNode, 'Дом2');
>


это плагиат из [1], надо:

ChildNode := TreeView1.Items.AddChild(node, 'Дом1');
ChildNode := TreeView1.Items.AddChild(node, 'Дом2');


trubin   (2007-01-04 18:45:00) [3]

Найти узел с текстом = 'Дома', и добавлять потомков, как вариант:

var
 node, ChildNode: TTreeNode;
...

node:= TreeView1.Items.GetFirstNode;
while node <> nil do
begin
 if node.Text = 'Дома' then
 begin
    ChildNode := TreeView1.Items.AddChild(RootNode, 'Дом1');
    ChildNode := TreeView1.Items.AddChild(RootNode, 'Дом2');
    Break;
 end;
 node:= node.GetNext;
end;


Sholah_Weras   (2007-01-04 18:19:00) [4]

Ага, спасибо, но есть небольшой ньюанс. Строка 'Дома' создается не в ран-тайме, а путем двойного клика по TreeView и дальнешего редактирования поля (надеюсь я понятно объяснил). Так вот, а строки 'Дом1' и 'Дом2' надо поместитьв ран-тайме в ранне созданный 'Дома'. Вот.


mfender   (2007-01-04 15:56:00) [5]


var
 RootNode, ChildNode: TTreeNode;
begin
 with TreeView1 do
 begin
   RootNode := Items.AddChild(nil, 'Дома');
   ChildNode := Items.AddChild(RootNode, 'Дом1');
   ChildNode := Items.AddChild(RootNode, 'Дом2');
 end;


ЗЫ. "Дом2" - не совсем хорошо. Другой пример нужен. Это буквосочетание теперь считается моветоном... ))))))


Наверх

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