点击测试TTreview加/减(折叠/展开)图标

我在Delphi中使用TTreeview组件,并且我已经定制了拖放功能。 我开始拖动鼠标(因为它是一种自定义行为),但我不想在用户单击+/-或展开和折叠图标时开始拖动事件。

有没有办法知道用户是否点击了节点的标题或者展开/折叠图标?

谢谢!


TTreeView组件包含用于此目的的GetHitTestInfoAt方法。

procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  HitTests: THitTests;
begin
  HitTests := TreeView1.GetHitTestInfoAt(X, Y);
  if htOnButton in HitTests then
    //do something
  else if htOnLabel in HitTests then
    //do something else
  else if ......

THitTests集的可能成员的完整列表是:

  • htAbove
  • htBelow
  • htNowhere
  • htOnItem
  • htOnButton
  • htOnIcon
  • htOnIndent
  • htOnLabel
  • htOnRight
  • htOnStateIcon
  • htToLeft
  • htToRight
  • 链接地址: http://www.djcxy.com/p/35083.html

    上一篇: Hit Test TTreview plus/minus (collapse/expand) icon

    下一篇: ProgressBar In tListview subitem Delphi