COleDropTarget::OnDragOver
Called by the framework when the cursor is dragged over the window.
virtual DROPEFFECT OnDragOver(
CWnd* pWnd,
COleDataObject* pDataObject,
DWORD dwKeyState,
CPoint point
);
Parameters
pWnd
Points to the window that the cursor is over.pDataObject
Points to the data object that contains the data to be dropped.dwKeyState
Contains the state of the modifier keys. This is a combination of any number of the following: MK_CONTROL, MK_SHIFT, MK_ALT, MK_LBUTTON, MK_MBUTTON, and MK_RBUTTON.point
Contains the current location of the cursor in client coordinates.
Return Value
The effect that would result if a drop were attempted at the location specified by point. It can be one or more of the following:
DROPEFFECT_NONE A drop would not be allowed.
DROPEFFECT_COPY A copy operation would be performed.
DROPEFFECT_MOVE A move operation would be performed.
DROPEFFECT_LINK A link from the dropped data to the original data would be established.
DROPEFFECT_SCROLL Indicates that a drag scroll operation is about to occur or is occurring in the target.
Remarks
This function should be overridden to allow drop operations to occur in the window. The default implementation of this function calls CView::OnDragOver, which returns DROPEFFECT_NONE by default. Because this function is called frequently during a drag-and-drop operation, it should be optimized as much as possible.
For more information, see IDropTarget::DragOver in the Windows SDK.
Example
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;
}
Requirements
Header: afxole.h