Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.021 c
1-1099311739
lehich
2004-11-01 15:22
2004.11.14
xml+delphi


3-1097693800
kirilllius
2004-10-13 22:56
2004.11.14
обменном данных


4-1096979156
F1
2004-10-05 16:25
2004.11.14
Как получить иконку ехе файла?


3-1097623565
big_bugzy
2004-10-13 03:26
2004.11.14
Как выбрать меньшее значение?


14-1098444056
S_C
2004-10-22 15:20
2004.11.14
Секурный ввод.




   Наверх