Provides target feedback to the user and communicates the drop's effect to the DoDragDrop
function so the effect of the drop can be communicated through the DoDragDrop
function back to the source.
| DWORD grfKeyState,
||//Current state of keyboard modifier keys
| POINTL pt,
||//Current cursor coordinates
| DWORD * pdwEffect
||//Effect of the drag-and-drop operation
[in] Identifies the current state of the keyboard modifier keys on the
keyboard. Valid values can be a combination of any of the flags MK_CONTROL, MK_SHIFT,
MK_ALT, MK_BUTTON, MK_LBUTTON, MK_MBUTTON, and MK_RBUTTON.
[in] Points to the current cursor coordinates in the coordinate space of the
drop target window.
[in, out] Specifies the current effect flag. Valid values are from the
The function completed its task successfully.
Out of memory.
One or more arguments are invalid.
An unexpected error occurred.
function calls this method each time the user moves the mouse across a given
target window. DoDragDrop
exits the loop if the drag-and-drop operation is canceled, if the user drags
the mouse out of the target window, or if the drop is completed.
, you must provide features similar to IDropTarget::DragEnter
. You must determine the effect of dropping the data on the target by
examining the formats and medium specified for the data object along with the state of
the modifier keys. The mouse position may also play a role in determining the
effect of a drop. The following modifier keys affect the result of the drop:
|CTRL + SHIFT
|No keys or SHIFT
You communicate the effect of the drop back to the source through DoDragDrop
. The DoDragDrop
function then calls IDropSource::GiveFeedback
so the source application can display the appropriate visual feedback to the
On entry to IDropTarget::DragOver
, the pdwEffect
parameter is set to the effects given to the DoDragDrop
function. The IDropTarget::DragOver
method must choose one of these effects or disable the drop.
Upon return, pdwEffect
is set to either DROPEFFECT_COPY to copy the dragged data to the target,
DROPEFFECT_LINK to create a link to the source data, or DROPEFFECT_MOVE to allow
the dragged data to be permanently moved from the source application to the
You may also wish to provide appropriate visual feedback in the target window.
There may be some target feedback already displayed from a previous call to IDropTarget::DragOver
or from the initial IDropTarget::DragEnter
. If this feedback is no longer appropriate, you should remove it.
For efficiency reasons, a data object is not passed in IDropTarget::DragOver
. The data object passed in the most recent call to IDropTarget::DragEnter
is available and can be used.
Notes to Implementors
This function is called frequently during the DoDragDrop
loop so it makes sense to optimize your implementation of the DragOver
method as much as possible.
- Software for developers
Software for Android Developers
- More information resources
Unix Manual Pages