Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - TreeView Oberste Ebene ermitteln
JoBoCAD - Mi 05.12.12 11:01
Titel: TreeView Oberste Ebene ermitteln
Hallo Zusammen,
wie schaffe ich es immer den obersten Eintrag des TreeViews als Text zu ermitteln - egal an welcehr Stelle ich im TreeView stehe.
Beispiel:
A--
---Test1
B--
---Test2
C--
---Test3
Selektiert ist zur Laufzeit Test2 - - gewünschte Anzeige B
Selektiert Test3 --> Anzeige C
Vielen Dank für Eure Mithilfe
Gruß
Joachim
bummi - Mi 05.12.12 11:09
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| Function GetBaseNode(TN:TTreenode):TTreenode; begin If Assigned(TN.Parent) then Result := GetBaseNode(TN.Parent) else Result := TN;
end;
procedure TForm3.Button1Click(Sender: TObject); begin if assigned(Treeview1.Selected) then Showmessage(GetBaseNode(Treeview1.Selected).Text); end; |
Mathematiker - Mi 05.12.12 11:11
Hallo,
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| function GetDir(Node: TTreeNode): string; var s: string; begin s := Node.Text+ #13#10; while Node.Parent <> nil do begin s := Node.Parent.Text + #13#10 + s; Node := Node.Parent; end; Result := s; end; |
liefert Dir als String alle Einträge vom obersten Eintrag bis zum gewählten. Am Ende müsstest Du nur den 1.Teilstring bis #13#10 abtrennen.
Beste Grüße
Mathematiker
Nachtrag: Schade. Ich war zu langsam und Bummis Lösung ist besser.
WasWeißDennIch - Mi 05.12.12 11:25
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| Function GetBaseNode(TN:TTreenode):TTreenode; begin Result := TN; if Assigned(Result) then if Assigned(Result.Parent) then Result := GetBaseNode(Result.Parent); end; |
So knallt es nicht, wenn TN nil ist.
JoBoCAD - Mi 05.12.12 11:52
Hallo nochmals,
klasse - funktioniert so wie ich es mir wünschte.
Danke Euch
Joachim
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!