如何解决我可以防止 TVirtualStringTree 在鼠标按下时取消选择节点以进行拖动操作吗?
通过 TVirtualStringTree,我扩展了节点的拖放功能以进行多选,并同时启用 VCL 和 OLE 类型的操作。我在 OnMouseMove 事件中使用 BeginDrag。
我遇到的困难在于以下场景:
- 点击一个节点
- 使用 Shift 键选择一系列同级节点(一切都很好)
- Mouse Up - 节点在视觉上保持选中状态,然后
- 按下鼠标开始移动鼠标开始拖动。 此时,TVirtualStringTree 取消选择除我正在拖动的节点之外的所有节点。
如果我使用 OnDragAllowed 事件,在树中的 VCL 拖放不会发生这种行为。这也不是我期望的 Windows 资源管理器的工作方式。
但是,在 VCL 拖放事件中,selectednodes 再次减少为单个节点,因此我使用了在原始鼠标按下事件中填充的保留节点数组。
总而言之,在开始手动启动的拖动操作时,有没有办法避免取消选择节点?
非常感谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。