有NOde.getprevvisible来探测,可以实现你的要求,在你的根节点设一个指针为特别的东西,找到即结束,下面的程序,前提是你的程序创建的节点的data必须有整型值,根节点为0:
procedure Tform1.TreeView1change;
var
  MyNode:TTreeNode;
  P:^integer;
  k:integer;
begin
  K:=1;
  MyNode:=TreeView1.Selected;
  if MyNode=nil then exit;
  p:=MyNode.Data;
  While p^<>0 then begin
    MyNode:=MyNode.getprevvisible;
    p:=MyNode.data;
  end;
  showmessage(intToStr(k));
end;
其中的k值为你的要求的行数