Текущий архив: 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.47 MB
Время: 0.036 c