[BCB]Dynamiczne tworzenie TTreeNode

0

Witam
Chcialbym uzyc metody IndexOf obiektu TTreeNode ,ale nie potrafie poprawnie stworzc dynamicznie obiektu tej klasy:

TTreeNode *t = new TTreeNode();
t->Text = "rozdzial1"; //access violation
int index = TreeView1->Items->Item->IndexOf(t);

0

jestes pewien ze treenode'y mozna sobie ot tak tworzyc? accessviolation pewnie wzial sie stad, ze node nie jest przypiety do drzewa.. zastanawia mnie tez ten indexof -- podejrzewam ze chcesz po prostu wyszukac tekst 'rozdzial1' na drzewku? to chyba nie tedy droga - sadze ze w tym przypadku indexof zwroci ci indeks TEGO treenode'a a nie jego odpowiednika w drzewie
..ale nie jestem borlandowcem, moge sie mylic:)

0

Co prawda w C++Builder jestem początkujący (bardziej JBuilder i Delphi), ale udało mi się
napisać coś takiego.
Utwórz na próbe nowy projekt i pusty formularz, wkopiuj kod do metody 'OnFormActivate'
formularza głównego i uruchom.

//---------------------------------------------------------------------------
void __fastcall TForm1::FormActivate(TObject *Sender)
{
	TTreeView* Tree = new TTreeView(this);  // this - musimy ustalic wlasciciela
	Tree->Parent = this;
	Tree->Left = 50;
	Tree->Top = 50;

	Tree->Items->Add(0, "pierwszy");
	Tree->Items->Add(0, "drugi");

	TTreeNode* Node1 = Tree->Items->Item[0];
	TTreeNode* Node2 = Tree->Items->Item[1];

	TListBox* ListBox = new TListBox(this);
	ListBox->Parent = this;
	ListBox->Left = 200;
	ListBox->Top = 50;

	int Index1 = Tree->Items->Item[0]->IndexOf(Node1);
	int Index2 = Tree->Items->Item[1]->IndexOf(Node2);

	ListBox->Items->Add(IntToStr(Index1) + " - " + Node1->Text);
	ListBox->Items->Add(IntToStr(Index2) + " - " + Node2->Text);

}
//---------------------------------------------------------------------------

1 użytkowników online, w tym zalogowanych: 0, gości: 1