procedure TForm1.TreeView1Click(Sender: TObject);
begin
  TreeView1.Selected:=TreeView1.Selected.getFirstChild;
end;

解决方案 »

  1.   

    奇怪的需求。也许可以用OnChange。还是用OnMouseDown吧,判断鼠标位置所在的节点,然后选中子节点。
      

  2.   

    procedure TForm1.TreeView1Click(Sender: TObject);
    begin
      TreeView1.Selected:=TreeView1.Selected.getFirstChild;
    end;
    没有节点自己用try处理好了。
      

  3.   

    if not TreeNode.HasChildren then exit;
      

  4.   

    procedure TForm1.TreeView1OnChange(Sender:TObject;Node:TTreeNode)
    begin
       Node.Expand(False);
       TreeView1.Selected := Node.getFirstChild;
    end;