Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.06;
Скачать: CL | DM;

Вниз

treeview + объект   Найти похожие ветки 

 
redlord   (2005-02-18 14:35) [0]

Всем приве
народ как в 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;


 
begin...end ©   (2005-02-18 14:41) [1]

> redlord   (18.02.05 14:35)

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

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


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

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


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

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


 
Eraser ©   (2005-02-18 17:01) [4]

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


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

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


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


> redlord

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



Страницы: 1 вся ветка

Текущий архив: 2005.03.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.032 c
4-1106554241
tradakad
2005-01-24 11:10
2005.03.06
замена черного цвета прозрачным на карте бит


1-1108672704
Kladbische
2005-02-17 23:38
2005.03.06
Получить путь к файлу.


3-1107260551
NightStranger
2005-02-01 15:22
2005.03.06
Работа с TextData


3-1107514881
Yerbol
2005-02-04 14:01
2005.03.06
как быстро открыть БД из 130000 зап с небольшой потерей памяти


4-1106198609
!Cyber
2005-01-20 08:23
2005.03.06
Как программно закрыть окно чужого диалога