TTreeView - Anwählen der Objekte - Wie geht es?
-
Hallo Leute.
wie kann ich erfahren, wenn ich bei einem TreeView (aufgebaut habe ich das schon) was angeklickt habe, welches das ist?sprich:
1 -1 -2 -1 -2 <<<<<-< das will ich anklicken -2 -3 -4wenn ich jetzt 1/2/2 anklicke, wie finde ich raus, das es angeklcikt wurde?
danke für eure tipstim
-
-
den hatte ich auch schon gefunden, allerdings arbeite ich seit gestern mit der komponente. also zum ersten male.
ich arbeite hier mit vielen komponnenten zum ersten male *höa*
naja, und ich habe da voll kein handling drauf.vllt hat jmd ja mal ne ideale lösung.
denn ich muss daraus einen pfad aufbauen und den dann lesen^^
-
und das snippet geht auch nur zum ersten unterbaum- sprich bei 2/2/5 oder so sagt er auch: item an nummer 2
das ist doof. ich verzweifle. ich glaube mein leiter hier lacht mich schon aus - weil ich das net kann

-
*wiederhochhol*
hat denn keiner einen lösungsvorschlag?
-
Vielleicht wäre TTreeView::Selected ein Ansatz...
-
ein beispiel
if((*tree->Items)[0]->Item[1]->Item[3]->Selected == 1) { AnsiString Pfad; Pfad = PfadName; Pfad+= (*tree->Items)[0]->Item[1]->Text; Pfad+= "\\"; Pfad+= (*tree->Items)[0]->Item[1]->Item[3]->Text; Ausgabe->Lines->LoadFromFile(Pfad); }funzt. dass klappt toll:
\\terra\Workspaces\NewCluster_2.14\Logs\apfelmus\20051013-095601-MD-JADE.log
super.
aber ich muss das doch für jedes baumobjekt hinkriegen.
und das schaffr ich nicht. gibt es keine funktion die einfach das ding zurückgibt?
-
Hallo
du must doch nur iterativ die Nodes vom ausgewählten Node bis hoch zum Root-Node gehen. Dazu gibts die Eigenschaft TTreeNode->Parent.
bis bald
akari
-
OMG. ja. mir wurde heir gerade schon geholfen. ihr hattet recht.
das problem ist, das wenn man die komponente zum ersten mal inna hand hat - kann man das net so leicht^^TTreeNode *selectedNode = tree->Selected; String hostName = selectedNode->Parent->Text; AnsiString Pfad = PfadName + hostName + "\\" + selectedNode->Text; Ausgabe->Lines->LoadFromFile(Pfad);so einfach ist ads

naja, jetzt weiß ich es.
-
Hallo
schon nichgt schlecht, aber was passiert, wenn der Root-Node ausgewählt wird, der ja kein Parent hat?
Und was passiert, wenn doch mal ein Node der dritten Ebene ausgewählt wird, dann wird Root gar nicht berücksichtig.Deshalb solltest du das in Schleife packen.
bis bald
akari
-
inne schleife ist keine gute idee
weil ich die schleife nicht steuern kann.
kann dir den code geben:TTreeNode *selectedNode = tree->Selected; if(selectedNode->Text == "MD-Host" || selectedNode->Text == "MD-JADE"|| selectedNode->Parent->Text == "MD-Host") { //wir haben das hauptverzeichniss angeklickt return; } String hostName = selectedNode->Parent->Text; . . .ich weiß nciht ob es so die beste variante ist - aber so klappt es zumindest und mir gefällt es
