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

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

treeview + объект [D7, WinXP]


redlord ©   (2005-02-18 14:35:00) 

Всем приве
народ как в items компонента treeview повесить обект
а потом в обработчике TreeView1Click им воспользоватся
обект примерно такой
type
 Tmyobj = class
 n:integer;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
node:ttreenode;
n:integer;
begin
for n:=0 to 10 do
begin

myobj:=tmyobj.Create;
myobj.n:=n;
node:=treeview1.Items.AddChild(nil,'qqq');
treeview1.Items.AddChildObject(node,'obj',??????????????????);
end; end;

procedure TForm1.TreeView1Click(Sender: TObject);
begin
?????????????????????????
end;


Набережных С.   (2005-02-18 18:32:00) [1]


> redlord

У TTreeView есть событие OnCreateNodeClass. Вместо
Tmyobj = class
можно сделать так
Tmyobj = class(TTreeNode)
А потом передавать этот класс в обработчике OnCreateNodeClass. Тогда сам итем будет содержать все необходимые свойства и методы. Иногда это бывает удобнее, чем использовать свойство Object, особенно если требуется использовать несколько разных классов.


redlord   (2005-02-18 17:10:00) [2]

To Eraser
спасибо
ето то что надо


Eraser   (2005-02-18 17:01:00) [3]

Tmyobj(TreeView1.Selected.Data).метод_или_свойство


redlord   (2005-02-18 16:58:00) [4]

объект с одним полем ето чтоб пример не загромождать
а убивать объекты буду вместе с Itemsами
а как обратится к объекту, на итемсе  которого  был произведен клик


Семен Сорокин   (2005-02-18 15:55:00) [5]

гы, а не проще ли так написать:
TreeView1.Items.AddChildObject(node, 'obj', TObject(n));
вместо того чтобы создавать объект с единственным integer-полем.
ЗЫ. Кстати эти объекты и убивать надо, чтобы не было утечки памяти.


begin...end   (2005-02-18 14:41:00) [6]

> redlord   (18.02.05 14:35)

> treeview1.Items.AddChildObject(node,'obj',??????????????????);

TreeView1.Items.AddChildObject(node, 'obj', myobj);


Наверх

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