TreeView - 单击空白区域

时间:2015-12-03 09:39:08

标签: delphi treeview

如果只点击一个空白区域,如何决定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;

1 个答案:

答案 0 :(得分:5)

使用GetHitTestInfoAt

中显示的this example方法
  MyHitTest := TV.GetHitTestInfoAt(X, Y);
  if htNowhere in MyHitTest then ...