CView::OnDropEx
调用由结构,当用户松开在有效的放置目标的数据对象。
virtual DROPEFFECT OnDropEx(
COleDataObject* pDataObject,
DROPEFFECT dropDefault,
DROPEFFECT dropList,
CPoint point
);
参数
pDataObject
指向放置到放置目标的 COleDataObject。dropDefault
用户为默认选择拖放操作的效果根据当前密钥状态。它可以是 DROPEFFECT_NONE。放置效果的"备注"节中讨论。dropList
放置源支持放置效果的列表。放置效果值可以按位组合使用或(**|**操作)。放置效果的"备注"节中讨论。point
相对于视图工作区的当前鼠标的位置。
返回值
由于放置尝试在位置的放置效果。point指定了。这必须是 dropEffectList表示的值之一。放置效果的"备注"节中讨论。
备注
默认实现没有是执行并返回一个虚拟的值(-1)指示框架应调用 OnDrop 处理程序。
重写此函数可实现正确的鼠标按钮拖放效果。释放,请纠正鼠标按钮拖放通常显示菜单选择正确的鼠标按钮。
OnDropEx 重写中应为正确的鼠标查询。可以调用 GetKeyState 或存储从您的 OnDragEnter 处理程序的正确鼠标按钮状态。
如果正确的鼠标滚动,重写中应显示提供值(由放置源支持的弹出菜单。
检查 dropList 确定放置源支持的放置效果。将使弹出菜单的仅这些事件。
使用 SetMenuDefaultItem 设置基于 dropDefault的默认事件。
最后,请将该弹出菜单的用户选择表示的操作。
如果正确的鼠标按钮不下,重写中应处理此为标准放置请求。使用在 dropDefault指定放置效果。或者,您的重写可返回该伪的值(-1)表示 OnDrop 都会处理此放置操作。
使用 pDataObject 检查剪贴板数据格式的 COleDataObject 和数据放置在指定的点。
放置效果描述事件与拖放操作。请参见下面的列表放置效果:
DROPEFFECT_NONE 中放置不允许。
DROPEFFECT_COPY 中复制操作将执行。
DROPEFFECT_MOVE 的移动操作将执行。
从放置的数据的DROPEFFECT_LINK 将链接到原始数据将建立的。
DROPEFFECT_SCROLL 在目标指示拖动滚动操作将发生或发生。
有关设置默认菜单命令的更多信息,请参见 Windows SDK 中的此数量的 SetMenuDefaultItem 和 CMenu::GetSafeHmenu。
要求
Header: afxwin.h