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 中的此数量的 SetMenuDefaultItemCMenu::GetSafeHmenu

要求

Header: afxwin.h

请参见

参考

CView选件类

层次结构图

安全性

CView::OnDragOver

CView::OnDrop

CView::OnDragLeave

COleDropTarget::OnDropEx