请帮我获得给定的状态图标矩形的屏幕坐标TTreeNode在TreeView(我指的是在指定的图标TTreeView.StateImages属性).
有一个TTreeView.GetHitTestInfoAt(X, Y: integer): : THitTests功能,但这不是我正在寻找的; 它表示给定的坐标是对应于标签,图标还是项目的状态图标,但我需要知道图标的哪个部分被点击了.
(原因是我想TreeView为每个项目实现带有两个复选框的节点,我StateImages用来模拟复选框(一个状态是一个选中的项目,另一个状态是一个未选中的项目).据我所知,要知道哪一个单击复选框我需要将光标坐标与状态图标坐标进行比较.我怎样才能得到它们?)
我试图在内存中构建几棵“树”,然后将其中一棵分配给用户可以与之交互的 TTreeView 控件。但是,如果不传递指向现有 TTreeView 的指针,我就无法构造任何 TTreeNodes 对象。传入 NIL 会导致 AV。
两个问题:- TTreeNodes 和 TTreeViews 之间这种“硬”链接的原因是什么,以及解决该问题的最佳方法是什么?
我可以看到的一些选项是:
..但我还没有权衡这些的利弊。