COleDropTarget::OnDragOver
调用由结构,当光标拖动到窗口。
virtual DROPEFFECT OnDragOver(
CWnd* pWnd,
COleDataObject* pDataObject,
DWORD dwKeyState,
CPoint point
);
参数
pWnd
指向窗口将关闭。pDataObject
指向包含要放置的数据的数据对象。dwKeyState
包含修改键的状态。这是组合的任意数量以下操作: MK_CONTROL、 MK_SHIFT、 MK_ALT、 MK_LBUTTON、 MK_MBUTTON和 MK_RBUTTON。point
在工作区坐标包含光标的当前位置。
返回值
将发生的影响,如果放置在 point指定的位置已尝试。它可以是一个或多个以下各项:
DROPEFFECT_NONE 中放置不允许。
DROPEFFECT_COPY 中复制操作将执行。
DROPEFFECT_MOVE 的移动操作将执行。
从放置的数据的DROPEFFECT_LINK 将链接到原始数据将建立的。
DROPEFFECT_SCROLL 在目标指示拖动滚动操作将发生或发生。
备注
在窗口中应重写此功能允许放置操作发生。此的默认实现函数调用 CView::OnDragOver,默认情况下返回 DROPEFFECT_NONE。由于此功能在拖放操作过程中会频繁调用,应尽可能对它进行优化。
有关更多信息,请参见 Windows SDK的 IDropTarget::DragOver。
示例
DROPEFFECT COleContainerView::OnDragOver(COleDataObject* pDataObject,
DWORD dwKeyState, CPoint point)
{
UNREFERENCED_PARAMETER(pDataObject);
UNREFERENCED_PARAMETER(point);
DROPEFFECT de = DROPEFFECT_NONE;
//Determine the type of operation
if((dwKeyState & MK_SHIFT) && (dwKeyState & MK_CONTROL))
de = DROPEFFECT_LINK;
else if(dwKeyState & MK_CONTROL)
de = DROPEFFECT_COPY;
else if(dwKeyState & MK_SHIFT)
de = DROPEFFECT_MOVE;
return de;
}
要求
Header: afxole.h