The IDropTarget interface is one of the interfaces you implement to provide drag-and-drop operations in your application. It contains methods used in any application that can be a target for data during a drag-and-drop operation. A drop-target application is responsible for:

  • Determining the effect of the drop on the target application.

  • Incorporating any valid dropped data when the drop occurs.

  • Communicating target feedback to the source so the source application can provide appropriate visual feedback such as setting the cursor.

  • Implementing drag scrolling.

  • Registering and revoking its application windows as drop targets.

The IDropTarget interface contains methods that provide all these responsibilities except registering and revoking the application window as a drop target.

When to Implement

Implement the IDropTarget interface if you are developing a container or server application that can act as a target for a drag-and-drop operation. The IDropTarget interface is associated with your application windows and is instantiated whenever the window is registered as a target for dropped data. You must call the RegisterDragDrop function and the RevokeDragDrop function to register and remove your application's windows as drop targets.

When to Use

The DoDragDrop function calls your IDropTarget methods within a loop during the drag-and-drop operation.

For example, DoDragDrop calls IDropTarget::DragEnter when it detects the mouse has moved over a window that is registered as a drag target. Once the mouse has entered a drag-target window, DoDragDrop calls IDropTarget::DragOver as the mouse moves through the window and calls IDropTarget::DragLeave if the mouse leaves the target window or if the user cancels or completes the drag-and-drop operation. DoDragDrop calls IDropTarget::Drop when the drop finally occurs if it occurs at all.

Methods in Vtable Order

IUnknown Methods
Returns pointers to supported interfaces.
Increments reference count.
Decrements reference count.

IDropTarget Methods
Determines whether a drop can be accepted and its effect if it is accepted.
Provides target feedback to the user through the DoDragDrop function.
Causes the drop target to suspend its feedback actions.
Drops the data into the target window.

See Also

DoDragDrop, IDropSource, RegisterDragDrop, RevokeDragDrop

Software for developers
Delphi Components
.Net Components
Software for Android Developers
More information resources
Unix Manual Pages
Delphi Examples
Databases for Amazon shops developers
Amazon Categories Database
Browse Nodes Database