Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
11-1093953154
New
2004-08-31 15:52
2005.10.16
Компиляция на FPC


6-1119603331
chery
2005-06-24 12:55
2005.10.16
Какая доля пакета "тратится" на служебную инфу?


1-1127876176
Bigman
2005-09-28 06:56
2005.10.16
Как перенести Код из Visual Basic в Delphi?


3-1125838785
ALLexs
2005-09-04 16:59
2005.10.16
Тригеры


14-1127507786
Ученик чародея
2005-09-24 00:36
2005.10.16
Он был хакером.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский