Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.09.11;
Скачать: [xml.tar.bz2];

Вниз

Вопрос по 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.009 c
14-33725
Palladin
2003-08-25 13:29
2003.09.11
UML


3-33496
Berezne
2003-08-20 12:11
2003.09.11
Как мне правильно написать фильтр для файла БД???


1-33609
unreger
2003-09-01 13:21
2003.09.11
Как создать таймер в рантайм?


1-33629
muravey
2003-08-31 14:41
2003.09.11
TCombobox


1-33563
Eagle Owl
2003-08-28 22:34
2003.09.11
Инсталяция программы с помощью InstallShield





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский