![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Новые объекты в 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" - не совсем хорошо. Другой пример нужен. Это буквосочетание теперь считается моветоном... ))))))