RegisterDragDrop
Registers the
specified window as one that can be the target of an OLE drag-and-drop
operation and specifies the IDropTarget instance to use for drop operations.
WINOLEAPI RegisterDragDrop(
|
HWND hwnd, |
//Handle to a window that can accept drops |
|
IDropTarget * pDropTarget |
//Pointer to object that is to be target of drop |
|
); |
|
Parameters
hwnd
[in] Handle
to a window that can be a target for an OLE drag-and-drop operation.
pDropTarget
[in] Pointer
to the IDropTarget
interface on the object that is to be the target of a drag-and-drop operation
in a specified window. This interface is used to communicate OLE drag-and-drop
information for that window.
Return Values
This function
supports the standard return value E_OUTOFMEMORY, as well as the following:
S_OK
The
application was registered successfully.
DRAGDROP_E_INVALIDHWND
Invalid
handle returned in the hwnd parameter.
DRAGDROP_E_ALREADYREGISTERED
The specified
window has already been registered as a drop target.
Remarks
If your
application can accept dropped objects during OLE drag-and-drop operations, you
must call the RegisterDragDrop function. Do this whenever one of your
application windows is available as a potential drop target, i.e., when the
window appears unobscured on the screen.
The RegisterDragDrop
function only registers one window at a time, so you must call it for each
application window capable of accepting dropped objects.
As the mouse
passes over unobscured portions of the target window during an OLE
drag-and-drop operation, the DoDragDrop function calls the specified IDropTarget::DragOver method for the current
window. When a drop operation actually occurs in a given window, the DoDragDrop
function calls IDropTarget::Drop.
The RegisterDragDrop
function also calls the IUnknown::AddRef method on the IDropTarget
pointer.
See Also