当鼠标悬停在VirtualStringTree的单元格上时,我正在尝试以不同的方式绘制它。如何检测热节点的坐标?我知道有一个 HotNode 属性,但它只返回鼠标光标下的节点。我需要获取该节点的单元坐标(X,Y)。
问问题
2991 次
1 回答
4
GetDisplayRect
您可以使用该方法获取任何节点的坐标。此外,InvalidateNode
还会告诉您刚刚失效的节点的坐标。
不过,出于您的目的,我认为您不需要知道任何任意节点的坐标。相反,您需要知道,当您绘制节点时,您正在绘制的节点是否是热门节点。所有特定于节点的所有者绘制事件都会告诉您当前节点和坐标,除了OnPaintText
,它只告诉您节点。不过,您无需自己跟踪当前的热节点。只需检查是否Node = Sender.HotNode
确定使用什么样式来绘制节点及其文本。
不过,您也许可以避免整个问题。该控件已经有相当多的特定于热节点的代码,因此它可能只是找到要配置的属性而不是必须自己绘制所有内容的问题。
于 2009-11-17T21:16:24.870 回答