Hallo,
Zitat:
Wie kann ich denn den letzten (root)Knoten markieren anstatt seines lastChild ?
Wenn es wirklich der letzte Wurzelknoten sein soll, vielleicht so?
Delphi-Quellcode:
function GetLastRootNode (const Treeview : TTreeView) : TTreeNode;
var
n : TTreeNode;
begin
Result := nil;
if Assigned (Treeview) then
begin
Result := Treeview.Items.GetFirstNode;
if Assigned (Result) then
begin
n := Result.getNextSibling;
while Assigned (n) do
begin
Result := n;
n := n.getNextSibling
end
end
end
end;
Zitat:
[...] Ich möchte aber nicht nur die Strings von GetLastChild im RichEdit haben, sondern den gesamten letzten Knoten
Dann so:
Delphi-Quellcode:
procedure TFdetail.NodesToRichedit (Node : TTreeNode);
begin
while Assigned (Node) do
begin
RichEdit1.Lines.Add (Node.Text);
NodesToRichedit (Node.getFirstChild);
Node := Node.getNextSibling
end
end;
procedure TFdetail.copy1Click(Sender: TObject);
var
n : TTreeNode;
begin
RichEdit1.Lines.Clear;
// Vielleicht noch die Zwischenablage platt machen Clipboard.Clear;
n := GetLastRootNode (Treeview1);
if Assigned (n) then
begin
RichEdit1.Lines.Add (n.Text);
NodesToRichedit (n.getFirstChild);
Richedit1.SelectAll;
RichEdit1.CopyToClipboard
end
end;
Vielleicht hilft's
Gruß