如果仅单击空白区域,如何确定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中所示的this example方法:

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

关于delphi - TreeView-单击空白区域,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34062446/

10-11 22:57