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

Вниз

TreeView   Найти похожие ветки 

 
slim ©   (2004-10-29 20:15) [0]

здравствуйте.
может кто нибудь знает :

я добавляю родительский обект:

var
MyTreeNode1:TTreeNode;
with TreeView1 do
                     begin
MyTreeNode1:=Items.AddObject(nil,PLI^.name+"  "+PLI^.time,PLI);
                     end;


потом дочерний :

with TreeView1.Items do
 begin
     TreeView1.Font.Color:=clBlack;
   AddChildObject(nil,PLI^.name+"  "+PLI^.time,PLI);
     MyTreeNode1.Expand(true);
 end;
<\code>

получается примерно так:
name1  00:00:00
  file1  00:00:30
  file2  00:00:10
а хочется что бы так:
name1  00:00:40
  file1  00:00:30
  file2  00:00:10
т.е. при добавлении дочернего обекта изменялся и родительский
как это сделать?


 
Гаврила ©   (2004-10-29 20:39) [1]

перед добавление родительского узла посчитай сумму


 
slim ©   (2004-10-29 21:00) [2]

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


 
Гаврила ©   (2004-10-29 21:14) [3]


> MyTreeNode1:=Items.AddObject(nil,PLI^.name+"  "+PLI^.time,PLI);


эту переменную запомни, например в приват секции формы
при изменении списка дочек переприсваивай
MyTreeNode1.Text:= блаблабла


 
slim ©   (2004-10-29 21:17) [4]

а с объектом(PLI) как быть? он кроме имени и времени еще кучу инвы несёт которая тоже меняется и потом очень нужна


 
Rouse_ ©   (2004-10-29 21:18) [5]

А что изменить значение без всякого запоминания религия не позволяет? ;)


 
Гаврила ©   (2004-10-29 21:21) [6]

MyTreeNode1:=Items.AddObject(PLI,PLI^.name+"  "+PLI^.time,PLI);
Запомнай в узле и указатель на сам объект

Впрочем....
откуза там крышка "^"
это объект, изи запись?
я так понял, что не эукэмпляр класса

у меня нет delphi под рукой
там вообще разве есть  AddObject ???
проверить негде


 
slim ©   (2004-10-29 21:23) [7]

А как?
шас крыша поедет...


 
slim ©   (2004-10-29 21:28) [8]


type
   pPLI=^TPlayListItem;
   TPlayListItem=Record
     tip:string;
     name:string;
     path:string;
     SoundFile:string;
     frameleng:integer;
     SoundCanals:integer;
     Dispname:string;
     vcodec:string;
     Time:TTime;
     acodec:string;
     start,stop:Int64;
   end;

да запись


 
slim ©   (2004-10-29 21:30) [9]

A AddObject есть щас на него любуюсь


 
slim ©   (2004-10-29 21:37) [10]


> MyTreeNode1:=Items.AddObject(nil,PLI^.name+"  "+PLI^.time,PLI);

эту переменную запомни, например в приват секции формы
при изменении списка дочек переприсваивай
MyTreeNode1.Text:= блаблабла

а так работает спасибо, но не до конца как надо:( если бы и обект изменить.


 
Гаврила ©   (2004-10-29 21:44) [11]


> [10] slim


Если хочешь сделать все грамотно, рекомендую сделать так:
определить потомка от TTreeNode, добавить в него те поля, которые есть в твоем record " е
сам record выкинуть
при добавлении узлов в дерево добавлять именно экземпляры класса твоего потомка
доступ к тем полям потомка, которые влияют за текст, сделать через свойства, в методах Set которых корректировать свой собственный заголовок.
При формировании заголовка учитывать также список дочек, если надо


 
slim ©   (2004-10-30 12:18) [12]

нашел!!!
так лучше и как надо:

 MyTreeNode1.Data:=PLI;
 MyTreeNode1.Text:=PLI^.name+"  "+PLI^.time;



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

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

Наверх




Память: 0.49 MB
Время: 0.056 c
14-1098780062
WondeRu
2004-10-26 12:41
2004.11.14
Стала ли жизнь легче? "+" и "-" сотовой телефонии....


14-1098704369
DiamondShark
2004-10-25 15:39
2004.11.14
Я тут как-то книжку обещал...


1-1098787847
losk
2004-10-26 14:50
2004.11.14
MDI


3-1098091565
Belkova
2004-10-18 13:26
2004.11.14
Поиск


14-1098790632
Мирон
2004-10-26 15:37
2004.11.14
Помогите с Novell ом