如何在VirtualTreeView中选择大面积的单元格?

9
我正在使用TVirtualTreeView作为老旧的TStringgrid的良好替代品。
然而,我缺少的一个功能是在任何单元格区域(而不仅仅是单个列、行或整个区域)进行选择的可能性。
我找不到任何解决方案,是否有人有建议?

您可以为每个节点(行)设置selected[]属性。在标题中,您可以设置哪些列被选中。在选项中将Multiselect设置为true。 - Ritsaert Hornstra
我已经尝试过,但是无法选择多列。在TVirtualTreeColumn.Option或TVirtualTreeColumns中没有选项。 - Tool
2
VT中没有这样的功能。但是你可以在自己的数据结构中处理它(例如作为位掩码,其中每个位表示一列,并指示是否选择)。您可以在特定列单击事件中更改此掩码,并在某些单元格绘制事件中进行绘制。 - TLama
谢谢! 我也想到了同样的解决方案,但是现在我在当前项目中没有时间。如果有人已经在他们自己的组件中实现了这个功能,那将会很有趣。让我感到好奇的是用鼠标按下标记区域的功能 - 单元格上会出现一个蓝色(透明)矩形,但是为什么呢?如果我花时间实现选择树视图,我会把代码放上来供大家审查。 - Tool
1
如何看待https://dev59.com/_0bRa4cB1Zd3GeqPzmHx? - Galdur
1个回答

0

您可以使用Canvas Draw来展示单元格的自定义选择区域。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接