|
Occurs when a source component is dropped onto a target component when the source component determines that a drop can occur.
Note This event occurs only if OLEDropMode is set to 1 (Manual).
Syntax
Private Sub object _OLEDragDrop(Data As DataObject,
Effect As Long, Button As Integer, Shift As
Integer, x As Single, y As Single)
The OLEDragDrop event syntax has these parts:
|
Part |
Description |
| object |
An object expression that evaluates to an object in the Applies to list. |
|
Data
|
A DataObject object containing formats that the source will provide and, in
addition, possibly the data for those formats. If no data is contained in the
DataObject, it is provided when the control calls the GetData method. The
SetData and Clear methods cannot be used here. |
|
Effect
|
A long integer set by the target component identifying the action that has been
performed (if any), thus allowing the source to take appropriate action if the
component was moved (such as the source deleting the data). The possible values
are listed in Settings. |
|
Button
|
An integer which acts as a bit field corresponding to the state of a mouse
button when it is depressed. The left button is bit 0, the right button is bit
1, and the middle button is bit 2. These bits correspond to the values 1, 2,
and 4, respectively. It indicates the state of the mouse buttons; some, all, or
none of these three bits can be set, indicating that some, all, or none of the
buttons are depressed. |
|
Shift
|
An integer which acts as a bit field corresponding to the state of the SHIFT,
CTRL, and ALT keys when they are depressed. The SHIFT key is bit 0, the CTRL
key is bit 1, and the ALT key is bit 2. These bits correspond to the values 1,
2, and 4, respectively. The shift parameter indicates the state of these keys;
some, all, or none of the bits can be set, indicating that some, all, or none
of the keys are depressed. For example, if both the CTRL and ALT keys were
depressed, the value of shift would be 6. |
|
x, y
|
A number which specifies the current location of the mouse pointer. The x and y
values are always expressed in terms of the coordinate system set by the
ScaleHeight, ScaleWidth, ScaleLeft, and ScaleTop properties of the object.
|
Settings
The settings for effect are:
|
Constant |
Value |
Description |
VbDropEffectNone |
0 |
Drop target cannot accept the data. |
VbDropEffectCopy |
1 |
Drop results in a copy of data from the source to the target. The
original data is unaltered by the drag operation. |
VbDropEffectMove |
2 |
Drop results in data being moved from drag source to drop source.
The drag source should remove the data from itself after the move. |
VbDropEffectScroll |
-2147483648 |
A mask to indicate that the drop target window has scrolled or
would scroll. |
Remarks
The source ActiveX component should always mask values from the effect parameter
to ensure compatibility with future implementations of ActiveX components.
Presently, only three of the 32 bits in the effect parameter are used.
In future versions of Visual Basic, however, these other bits may be used.
Therefore, as a precaution against future problems, drag sources and drop
targets should mask these values appropriately before performing any
comparisons.
For example, a source component should not compare an effect against,
say, vbDropEffectCopy, such as in this manner:
If Effect = vbDropEffectCopy...
Instead, the source component should mask for the value or values being sought,
such as this:
If Effect And vbDropEffectCopy = vbDropEffectCopy...
-or-
If (Effect And vbDropEffectCopy)...
|