Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.47 MB
Время: 0.019 c
8-33696
Алексей
2003-05-14 16:00
2003.09.11
DelphiX и DirectX


3-33513
dot
2003-08-19 18:41
2003.09.11
Доступ к таблице


1-33611
pirat
2003-08-31 16:57
2003.09.11
как


1-33663
Dimaz-z
2003-08-29 22:55
2003.09.11
Как узнать из программы когда она была скомпилирована?


3-33508
ilyua12
2003-08-20 03:59
2003.09.11
Нули в отчете.