基本上我需要一些东西来确定用户是否在拖放动作的过程中确定何时抑制扩展多选树控件中CTreeCtrl
标签编辑的热心默认行为。
CWnd::DragDetect
返回true。我正在考虑在::OnMouseMove
中使用this的返回值来确定是否正在进行拖动操作以启用或禁用某些GUI效果和操作。
听起来一切都很好,但是除了采用相同的鼠标点并简单地使用所选项目进行命中测试之外,这真的能完成任何事情吗?我已经不得不对掉落目标做一个命中测试,所以这似乎是一个完全不必要的方法。
谷歌没有提出使用这种方法的任何例子,所以SO也没有返回任何结果,所以我很好奇这是否是一个有用的方法,或者这不是预期用途。
以前有人用过吗?
答案 0 :(得分:2)
目的是从DragDetect
处理程序中调用WM_LBUTTONDOWN
,以查看用户是否正在尝试从应用程序中拖动某些内容。如果它返回true,则这是拖动操作的开始;如果它是假的,那么不是。返回true后,您开始跟踪鼠标并进行命中测试以提供反馈(如果有的话);你至少应该改变光标。最后在WM_LBUTTONUP
进行最终命中测试以查看放置目标是什么。