DROPEFFECT

The DoDragDrop function and many of the methods in the IDropSource and IDropTarget interfaces pass information about the effects of a drag-and-drop operation in a DROPEFFECT enumeration.

Valid drop effect values are the result of applying the OR operation to the values contained in the DROPEFFECT enumeration:

typedef enum tagDROPEFFECT
{

DROPEFFECT_NONE = 0,

DROPEFFECT_COPY = 1,

DROPEFFECT_MOVE = 2,

DROPEFFECT_LINK = 4,

DROPEFFECT_SCROLL = 0x80000000,

}DROPEFFECT;

These values have the following meaning:

DROPEFFECT name
Value
Description
DROPEFFECT_NONE
0
Drop target cannot accept the data.
DROPEFFECT_COPY

Drop results in a copy. The original data is untouched by the drag source.
DROPEFFECT_MOVE

Drag source should remove the data.
DROPEFFECT_LINK
4
Drag source should create a link to the original data.
DROPEFFECT_SCROLL
0x80000000
Scrolling is about to start or is currently occurring in the target. This value is used in addition to the other values.

Note Your application should always mask values from the DROPEFFECT enumeration to ensure compatibility with future implementations. Presently, only four of the 32 bit positions in a DROPEFFECT have meaning. In the future, more interpretations for the bits will be added. Drag sources and drop targets should carefully mask these values appropriately before comparing. They should never compare a DROPEFFECT against, say, DROPEFFECT_COPY by

if (dwDropEffect == DROPEFFECT_COPY)...

Instead, the application should always mask for the value or values being sought:

if (dwDropEffect & DROPEFFECT_COPY) == DROPEFFECT_COPY)...

or

if (dwDropEffect & DROPEFFECT_COPY)...

This allows for the definition of new drop effects, while preserving backwards compatibility with existing code.

See Also

DoDragDrop
, IDropSource, IDropTarget

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