czesc, mam taki drobny problem z komponentem TreeView, z ktorym nie moge sobie za bardzo poradzic..
mianowicie wyszukuje w bazie wartosci i tworze dynamicznie drzewo..

stworzylem wskazniki do podgalezi (nie wiem czy fachowo sie wyrazam :) )

TTreeNode* wskaznik_A;
TTreeNode* wskaznik_A1;
...................
TTreeNode* wskaznik_C;
TTreeNode* wskaznik_Cx_[8];
//tych ostatnich jest 8 bo wiem ze dokladnie tyle podgalezi bedzie

nastepnie tworze samo drzewo: (fragment kodu, jak to robie)

//utworzenie glownej galezi o nazwie 'C'
TreeView->Items->Add(TreeView->Selected, "C");
//nadanie wskaznikowi galezi 'C' numeru indeksu (jest ostatni na drzewie wiec nadaje mu numer 'ilosc elementow - 1'
wskaznik_C = TreeView->Items->Item[TreeView->Items->Count-1];
 
//wyszukanie w bazie potrzebnych informacji, ktore wczytane zostana do drzewa
(...)
 
i=0;
for ( Query1->First(); !Query1->Eof; Query1->Next() )
{
 //utworzenie podgalezi z jakas tam wyszunaka informacja (nazwa) np. C_1, C_2 itd.
 TreeView->Items->AddChild( wskaznik_C, Query1->Fields->Fields[0]->AsString);

 //wyszukanie kolejnych potrzebnych informacji w bazie
 //dla odpowiedniej podgalezi C_1, C_2 itd. (z kazda wykonana petla kolejnej)
 (...)

 //przypisanie podgalezi C_1, C_2 itd. numeru i wypisanie tam wyszukanych danych
 wskaznik_Cx[i]=TreeView->Items->Item[TreeView->Items->Count-1];
 for ( Query2->First(); !Query2->Eof; Query2->Next() )
  TreeView->Items->AddChild(wskaznik_Cx[i], Query2->Fields->Fields[0]->AsString);

 i++;
}

utworzy to mniej wiecej cos takiego:
user image
te A i B tez maja jakies podgalezie, ale to nie istotne..

nastepnie dla przykladu zaznaczam sobie Gałąź C_2.. dodaje cos do bazy i robie:
TreeView->Items->AddChild(TreeView->Selected, "C_2x");

i teraz jest problem.. :-/
po pierwsze: dodaje mi to C_2x na koncu (pod C_2c) a chcialbym zeby dodawalo na poczatku (nad C_2a).. ewentualnie jesli nic tam wczesniej nie bylo zeby dodawalo dwie rzeczy.. jako pierwsze napis "ostatnie" a pod spodem wlasnie to co dodalem teraz..
po drugie: jesli dodam cos do drzewa to zmieniaja sie numery wskaznikow ktore sa ponizej, bo zmienia sie ich Index o +1 :/ a 'zmiana numerow' wskaznikow, ktore znajduja sie ponizej o +1 jakas funkcja, to nie robota :/
i jeszcze przy okazji pytanie: czy jesli nie zostala utworzona wczesniej podgalaz dal np. C_1, bo nie znalazlo nic w bazie, to jak pozniej dodam tam cos tym TreeView->Items->AddChild(TreeView->Selected, "C_1x"); to jaki nadac wskaznikowi wskaznik_C[1] numer ?

mam jeszcze do tego stworzona tabele id_z_drzewa[100], w ktorej przechowuje informacje o ID rekordu ktorego nazwa jest wlasnie na drzewie.. i tam tez bym musial wszystko co ponizej przesowac o jeden w dol.. no ale jesli nie ma innego wyjscia to trudno..
poza dodawaniem do drzewa przydaloby sie jeszcze usuwanie :p ale to zostawie na pozniej :)

mam nadzieje ze ktos mi pomoze, bo ja juz nic nie moge wymyslic.. [glowa]
z gory dziekuje :)