Текущий архив: 2003.09.11;
Скачать: CL | DM;
Вниз
Вопрос по TreeView для профессионалов! Найти похожие ветки
← →
tgdgdfg (2003-08-30 00:02) [0]Решил воспользоваться 1-ой возможностью TTreeview,то ли глюк,то ли я что-то неправильно делаю.Итак:
Имеется форма с Treeview (имя:TrvStructure) и две кнопки(имя:Button1,Button2)
Код:
{В начале обьявляем запись с указателем,где будем хранить данные}
type
PInfo = ^TInfo;
TInfo = record
Caption:String[100];
Number:String[20];
TablName:String[100];
GraphName:String[100];
end;
{Эта кнопка добавляет эллементы в Treeview и заносит данные}
procedure TForm1.Button1Click(Sender: TObject);
Var
ParentNode, ChildNode: TTreeNode;
Info: PInfo;
begin
ParentNode := TrvStructure.Items.Add(nil,"1 Parent 1");
GetMem(Info,SizeOf(TInfo));
Info^.Caption:= "Parent 1";
Info^.Number:="1";
Info^.TablName:="";
Info^.GraphName:="";
ParentNode.Data := Info;
ChildNode := TrvStructure.Items.AddChild(ParentNode,"1.1 Mrs Gates");
GetMem(Info,SizeOf(TInfo));
Info^.Caption:= "Mrs Gates";
Info^.Number:="1.1";
Info^.TablName:="";
Info^.GraphName:="";
ChildNode.Data := Info;
ChildNode := TrvStructure.Items.AddChild(ChildNode,"1.1.1 Junior Gates");
GetMem(Info,SizeOf(TInfo));
Info^.Caption:= "Junior Gates";
Info^.Number:="1.1.1";
Info^.TablName:="";
Info^.GraphName:="";
ChildNode.Data := Info;
{ВНИМАНИЕ!!! ЗДЕСЬ У ЭТОГО ЭЛЛЕМЕНТА CD-DJ Caption ИМЕННО Parent 2!!!!}
ParentNode := TrvStructure.Items.Add(nil,"2 Parent 2");
GetMem(Info,SizeOf(TInfo));
Info^.Caption:= "Parent 2";
Info^.Number:="2";
Info^.TablName:="";
Info^.GraphName:="";
ParentNode.Data := Info;
ChildNode := TrvStructure.Items.AddChild(ParentNode,"2.1 Jane Doe");
GetMem(Info,SizeOf(TInfo));
Info^.Caption:= "Jane Doe";
Info^.Number:="2.1";
Info^.TablName:="";
Info^.GraphName:="";
ChildNode.Data:= Info;
ParentNode := TrvStructure.Items.Add(nil,"3 Parent 3");
Info^.Caption:= "Parent 3";
Info^.Number:="3";
Info^.TablName:="";
Info^.GraphName:="";
ParentNode.Data := Info;
end;
{КОД КНОПКИ Button2}
procedure TForm1.Button2Click(Sender: TObject);
var
Info:PInfo;
begin
Info := TrvStructure.Selected.Data;
{}
Showmessage(info.Caption);
end;
{Теперь раскрываем ЭЛЛЕМЕНТ PARENT 2 И выделяем эллемент 2.1 Jane Doe и нажимаем Button 2!!!!!Выходит сообщение Parent 3!!!Почему?Ведь это же неверно.И ошибка именно в этом пункте везде в остальных местах все нормально.ПОЧЕМУ? }
← →
Юрий Федоров (2003-08-30 01:28) [1]>>ParentNode := TrvStructure.Items.Add(nil,"3 Parent 3");
Забыл GetMem
PS лучше использовать new
Страницы: 1 вся ветка
Текущий архив: 2003.09.11;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.009 c