如何在运行时在TTreeView的选定项旁边放置一个按钮?

时间:2016-03-13 00:32:47

标签: delphi treeview

我有一个TreeView,它包含项目,客户,运营商和地区等信息组。他们的子项是数据库中每个组的行。每当我双击一个项目时,它就会更改屏幕另一侧的表格,过滤表格结果,只是我在TreeView中选择的项目。

由于这些TreeView实际上是数据库表的项目,我想打开另一个窗口来编辑所选项目,方法是单击项目旁边的按钮,就在TreeView外面,这样按钮就不会覆盖该项目的文本。

问题是如何知道TreeView中所选项目的确切位置

请考虑 可能有足够的项目使垂直滚动条显示或不显示。我无法使用弹出菜单来执行此操作。

enter image description here

1 个答案:

答案 0 :(得分:2)

您可以使用项目的DisplayRect方法为客户坐标中的项目文本的边界矩形传递参数“true”。将此矩形与使用参数“false”获得的矩形进行比较,您将知道是否有足够的空间在项目文本的右侧绘制按钮。