Dragging and Dropping Data
Understanding some of the basics of OLE drag-and-drop applications makes it easier to take full advantage of their features.
The mouse is used to drag and drop data between applications and controls. For example, you can select a set of files in the Windows Explorer. You can then press and hold the mouse button down while dragging the files, then release the mouse button to drop them onto the Visual FoxPro Project Manager, or you can select text in a Word document and drop the text into a text box on a Visual FoxPro form. During the OLE drag-and-drop operation, the mouse cursor changes to indicate that an OLE drag-and-drop operation is in effect.
Drag Source
The application or control from which data is moved is called the drag source.
The following table lists the properties, events, and methods available for an OLE drag source.
Property, Event, or Method |
Description |
---|---|
Occurs when data is dropped on the drop target or the OLE drag-and-drop operation is canceled. |
|
Starts an OLE drag-and-drop operation. |
|
Specifies the picture displayed under the mouse pointer during an OLE drag-and-drop operation. You can specify a picture file of type .bmp, .dib, .jpg, .gif, .ani, .cur, and .ico. |
|
Specifies how a drag source manages OLE drag operations. |
|
Occurs after every OLEDragOver event. Allows the drag source to specify the type of OLE drag-and-drop operation and the visual feedback. |
|
Occurs when a drop target calls the GetData method and there is no data in a specified format on the OLE drag-and-drop DataObject. |
|
Occurs when the OLEDrag method is called. |
Drop Target
The application or control to which the data is moved is called the drop target.
The following table lists the properties, events, and methods available for an OLE drop target.
Property or Event |
Description |
---|---|
Occurs when data is dropped on a drop target and the drop target's OLEDropMode property is set to 1 – Enabled. |
|
Occurs when data is dragged over a drop target and the drop target's OLEDropMode property is set to 1 – Enabled. |
|
Specifies the type of drop operations an OLE drop target supports. |
|
Specifies how a drop operation is managed. |
|
Specifies how a drop target manages OLE drop operations. |
Moving Data
To perform a drag-and-drop operation to move data using the default (left) mouse button, select the data you want to move in the drag source. After selecting the data, press and hold down the mouse button as you move the mouse pointer over the drop target. Release the mouse button to drop the data onto the drop target. During the OLE drag-and-drop operation, the mouse cursor changes to indicate that an OLE drag-and-drop operation is in effect.
You can also click the non-default (right) mouse button on the data in a drag source and drag it to a drop target. Depending on the drop target, a context menu may be displayed when you drop the data on the drop target. The context menu contains a set of options that make it possible for you to choose how the data is processed by the drop target.
Copying Data
You can also copy data from a drag source and paste it in a drop target. Press the Ctrl key as you click the mouse on the data selected in the drag source. The mouse cursor displays a plus sign (+) while the mouse is dragged to indicate a Copy operation is in effect.
Targets and Sources Not Supporting OLE drag-and-drop
You can only move or copy data from a drag source that supports OLE drag-and-drop, and the drop target must also support OLE drag-and-drop. Note that while a drop target may support OLE drag-and-drop, the drop target doesn't have to accept the data you attempt to drop on it. For example, the data you're moving or copying may be in a format the drop target doesn't support. During a drag-and-drop operation, the mouse cursor changes to a No Drop symbol (a slashed circle) to indicate the mouse is positioned over an area of an application or control where the data cannot be dropped.
Canceling an Operation
You can cancel the OLE drag-and-drop operation by pressing ESC during the operation.
See Also
Reference
Run-Time OLE Drag-and-Drop Support