Форум: "Основная";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];
ВнизГенерация TreeView в runtime Найти похожие ветки
← →
Sergey_R © (2005-09-24 14:10) [0]Народ, подскажите как заполнить TreeView в runtime!
Ну, например, мне нужно создать такое дерево
-Исполнитель
-Группа1
Песня1
Песня2
...
-Группа2
Песня1
Песня2
...
-Жанр
-жанр1
-жанр2
...
Поля "исполнитель" и "жанр" я знаю как добавить, а как к ним добавить вложенные списки (типа как в медиаплеере 9)?
← →
Eraser © (2005-09-24 14:24) [1]
> Sergey_R © (24.09.05 14:10)
TreeView.Items.Add
AddChild
AddChildFirst
AddChildObject
AddChildObjectFirst
AddFirst
AddNode
и т.д.
← →
Sergey_R © (2005-09-24 14:31) [2]Список функций я мог бы посмотреть и по нажатию Ctrl+Space. Просто я не понимаю иереархию этого чертового дерева!
← →
Eraser © (2005-09-24 14:33) [3]
> Sergey_R © (24.09.05 14:31) [2]
>
> Просто я не понимаю иереархию этого чертового дерева!
Иерархия сама что есть иерархическая, какой же ей быть ещё...?
Что конкретно непонятно ?
← →
Sergey_R © (2005-09-24 15:40) [4]Допустим, пишу я вот так:
with TreeView1.Items do
begin
artist:=add(nil,"Исполнитель");
addchild(node,"Группа1");
addchild(node.Item[0],"Песня1");
addchild(node.Item[0],"Песня2");
addchild(node,"Группа2");
addchild(node.Item[1],"Песня1");
addchild(node.Item[1],"Песня2");
end;
А нельзя ли сделать так, чтобы вместо addchild(node.Item[0],"Песня1"); было
что-то типа addchild(group1,"Песня1")?
По-моему надо создавать указатель на node.Item[0], но как это сделать, не пойму!
И еще. В хелпе нашел типы TTreeNode и TTreeNodes. А чем они отличаются?
← →
Eraser © (2005-09-24 15:49) [5]
> Sergey_R © (24.09.05 15:40) [4]
>
> По-моему надо создавать указатель на node.Item[0], но как
> это сделать, не пойму!
Идентификатор объекта в делфи и есть указатель на объект.
> В хелпе нашел типы TTreeNode и TTreeNodes. А чем они отличаются?
TTreeNode - класс который ппредставляет узел в дереве иерархии.
TTreeNodes представляет собой класс для манипуляциями узлами (TTreeNode) дерева.
Чтобы создать указатель на любой класс, просто объяви его как переменую:var
tn: TTreeNode;
> with TreeView1.Items do
> begin
> artist:=add(nil,"Исполнитель");
> addchild(node,"Группа1");
> addchild(node.Item[0],"Песня1");
> addchild(node.Item[0],"Песня2");
>
> addchild(node,"Группа2");
> addchild(node.Item[1],"Песня1");
> addchild(node.Item[1],"Песня2");
>
> end;
Можно так:var
tn: TTreeNode;
...
tn := addchild(node,"Группа1");
addchild(tn,"Песня1");
addchild(tn,"Песня2");
...
← →
Sergey_R © (2005-09-24 16:30) [6]То есть TTreeNodes это типа массив из TTreeNode?
← →
Eraser © (2005-09-24 18:05) [7]
> Sergey_R © (24.09.05 16:30) [6]
Типа того... только не массив.
Согласно справки TTreeNodes это object and maintains the collection of nodes in the tree view.
← →
TStas © (2005-09-24 20:26) [8]>То есть TTreeNodes это типа массив из TTreeNode?
Это не массив самих узлов, а указателей на них.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.038 c