我需要在展开treeview时得到该节点的最上一级的节点的值,请问该如何实现?

解决方案 »

  1.   

    function GetTheFirstNode(ANode:TTreeNode):TTreeNode;
    var
      temp:TTreeNode;
    begin
      temp:=ANode;
      while (not temp.IsFirstNode) do
        temp:=temp.Parent;
      result:=temp;
    end;
      

  2.   

    每个结点的最上一级肯定是Level = 0
      if Assigned(TreeView1.Items[0]) then
      begin
        ShowMessage(TreeView1.Items[0].Text);
        TreeView1.SetFocus;
      end;_____________________________________________________________________暮春三月,羊欢草长,天寒地冻,问谁饲狼?人心怜羊,狼心独怆,天心难测,世情如
    霜……
    言有尽而意无穷,余意尽在不言中……
      

  3.   

    functoin GetTopNode(Node: TTreeNode): TTreeNode;
    begin
      Result := Node;
      while (Result.Level > 0) do Result := Result.GetPrev;
    end;
      

  4.   

    一般用  treeview1.items[0]  就是了,  呵呵