TreeView - 单击空白区域

TreeView - Clicking at an empty area

TreeView的OnClick事件中,如果只点击了空白区域,如何判断?我正在使用下面的代码,但是在 CheckNode 中我总是得到一个 TreeNode 实例,尽管我只点击了 TreeNode 旁边的空白区域。

procedure TfrmDevTree.TreeView1Click(Sender: TObject);
var
  p: TPoint;
  CheckNode: TTreeNode;
begin
  GetCursorpos(p);
  p := TreeView1.screentoclient(p);
  CheckNode := TreeView1.GetNodeAt( p.X, p.Y );
  if CheckNode = nil then
    Exit;
  ...
end;

使用GetHitTestInfoAt method as shown in this example:

  MyHitTest := TV.GetHitTestInfoAt(X, Y);
  if htNowhere in MyHitTest then ...