0

我有办法在 CTreeCtrl 的特定节点上禁用拖放功能吗?

我想防止将节点拖动到同一棵树中同一节点的子节点,并防止将节点拖动到链接到同一节点或其子节点之一的列表视图。

4

1 回答 1

1

这仅取决于您如何处理鼠标移动处理程序中的放置目标。

您无法阻止该TVN_BEGINDRAG功能。但是如果根本不应该拖动该项目,您总是SetDropTarget(NULL)在鼠标移动处理程序中使用,如果拖动停止,您什么也不做。

当允许拖动项目时,您只需要检查目标是否允许。您用于HitTest查找目标项目,您可以检查它是否允许在此处放置。再次使用SetDropTarget. 所以用户可以看到什么是允许的。

另一种方法是在此示例中实现 Ole Drag&Drop 函数。

于 2016-04-28T08:46:34.237 回答