This documentation is archived and is not being maintained.


Called by the framework during a drag operation when the mouse is moved over the drop target window.

virtual DROPEFFECT OnDragOver(
   COleDataObject* pDataObject,
   DWORD dwKeyState,
   CPoint point 



Points to the COleDataObject being dragged over the drop target.


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.


The current mouse position relative to the view client area.

A value from the DROPEFFECT enumerated type, which indicates the type of drop that would occur if the user dropped the object at this position. The type of drop often depends on the current key state as indicated by dwKeyState. A standard mapping of keystates to DROPEFFECT values is:

  • DROPEFFECT_NONE   The data object cannot be dropped in this window.

  • DROPEFFECT_LINK for MK_CONTROL | MK_SHIFT   Creates a linkage between the object and its server.

  • DROPEFFECT_COPY for MK_CONTROL   Creates a copy of the dropped object.

  • DROPEFFECT_MOVE for MK_ALT   Creates a copy of the dropped object and delete the original object. This is typically the default drop effect, when the view can accept the data object.

For more information, see the MFC Advanced Concepts sample OCLIENT.

The default implementation is to do nothing and return DROPEFFECT_NONE.

Override this function to give the user visual feedback during the drag operation. Since this function is called continuously, any code contained within it should be optimized as much as possible. For more information, see the article Drag and Drop: Implementing a Drop Target.