Помощь - Поиск - Пользователи - Календарь
Полная версия: TTreeView. Пример.
Форум «Всё о Паскале» > Delphi, Assembler и другие языки. > Delphi
Yu_Lo
У меня тут назрел чайниковский вопрос. %)
Как в TTreeView создать следующее дерево:

[-] Name1
|- Name1.1
|- Name1.2
[-] Name2
|- Name2.1
|- Name2.2

Это обычное дерево. Как его сделать?
Привидите, plz, код...

Также: ( может справлюсь сам, но все же.. smile.gif )

 - Как обработать щелчек мышкой на каком нибудь пункте? т.е. на каком пункте был щелчек.

(Заранее извиняюсь, просто раньше не приходилось использовать этот компонент)
Forsag
2-ой вопрос (должно работать  ;)):
procedure TForm1.FormClick (var MyMessage : TWMMouse);
var
x,y:Integer;
begin
If MyMessage.XPos=x then begin
If MyMessage.YPos=y then begin
//какие-то действия
end;
end;
end;

xm,ym - координаты какого-то пункта
Forsag
а первое  ;D гы, я думал чё-то сложное... а оно... там же есть проперти items... щёлкаешь там на три точки и создаёщь сколько влезит айтемов(типа name1) и сабайтемов (типа name1.1)

Или я ни понял вопрос или это действительно просто... ;)
Yu_Lo
Ха! Так в том то и дело, что так легко. Но мне нужно создать такое дерево програмным путем! т.к. это будет анализатор кода!
Там что-то с TTreeNode делать нужно. Все, что я делал пока только приводило к обращению в несуществующую область памяти.. %)
Forsag
Программным путём это можно сделать так (пример из дельфийского хелпа):
procedure TForm1.Button1Click(Sender: TObject);
var
 MyTreeNode1, MyTreeNode2: TTreeNode;
begin
 with TreeView1.Items do
 begin
   Clear; { remove any existing nodes }
   MyTreeNode1 := Add(nil, 'RootTreeNode1'); { Add a root node }
   { Add a child node to the node just added }
   AddChild(MyTreeNode1,'ChildNode1');
   {Add another root node}
   MyTreeNode2 := Add(MyTreeNode1, 'RootTreeNode2');
   {Give MyTreeNode2 to a child }
   AddChild(MyTreeNode2,'ChildNode2');
   {Change MyTreeNode2 to ChildNode2 }
   { and add a child node to it}
   MyTreeNode2 := TreeView1.Items[3];
   AddChild(MyTreeNode2,'ChildNode2a');
   {Add another child to ChildNode2, after ChildNode2a }
   Add(MyTreeNode2,'ChildNode2b');
   {add another root node}
   Add(MyTreeNode1, 'RootTreeNode3');
 end;
end;

на свой лад думаю ты и сам переделаешь.. ;)
Yu_Lo
Хм.... Толи лыжи не едут, толи асфальт не скользкий.... до этого я обрыл всю справку в поисках хоть чего-нибудь по TreeView, но ничего стоящего не нашел... Видать справка "покоцана" smile.gif
     Спасибо тебе. Я во всем разобрался! smile.gif
Forsag
наздоровье... ;D
тема закрыта
vf
Нет еще не закрыта.
После генерации дерева и привязки к нему объектов и данных можно ли его какимто образом записать в файл, а затем уже из этого файла считать опять в TTreeView?
Если можно то как это сделать?
А то уже замучался торможу я на этих указателях.... если не трудно проясните в чем прикол.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.