Hide

SftDirectory 3.5 - ActiveX File/Folder Control

Display
Print

OLE Drag & Drop

SftDirectory supports OLE drag & drop, based on the OLEDragMode and OLEDropMode settings.

The DragStarting event can be used to determine the start of a drag & drop operation. The user can drag the selected (highlighted) files/folders by pressing the left mouse button while over the selected files/folders and dragging them. The OLEDrag method can be used to start a drag & drop operation under application control.

If the control is defined as a valid drop target (see OLEDropMode), the current drop target location is highlighted.

While dragging objects over files/folders in a SftDirectory control, folders may be expanded automatically when the mouse cursor rests above an expandable folder. This can be defined using the AutoExpandDragDrop property.

OLE Drag & Drop

If the OLEDragMode property is set to OLEDragSftControlManual or OLEDragSftControlAutomatic, OLE drag & drop mechanisms are used. This is the most powerful drag & drop method supported by SftDirectory. In this mode, drag & drop between controls in the same application and between different applications is supported.

Using the OLEDropMode property, SftDirectory can be defined as a valid drop target. The OLEDragDrop event occurs when a drop occurs on the control. The application can retrieve the data and data format using the DataObject.GetData and GetFormat methods.

SftDirectory can also be used as the source of a drag & drop operation. By using the OLEDragMode property (set to OLEDragSftControlManual or OLEDragSftControlAutomatic), the OLEStartDrag event occurs as soon as a drag & drop operation is about to begin (either automatically or using the OLEDrag method when the DragStarting event occurs).

The DragMode property (in Visual Basic) must be set to vbManual for OLE drag & drop.

In the OLEStartDrag event, the application can define the data or data formats and drop effects that are supported for the drag & drop operation.

Drag & Drop Controlled by the Container Application

Visual Basic also supports its own drag & drop which is not based on OLE. Visual Basic's drag & drop methods only operate within the same application. The DragMode property (added to the control and documented by Visual Basic) controls this drag & drop processing. Please see the Visual Basic documentation for more information.

Other container applications may provide their own drag & drop implementation. For example, Visual C++ offers the C++ classes COleDropSource and COleDropTarget, which offer considerable features to implement OLE Drag & Drop. The DragStarting event could be used to determine when a drag & drop operation starts, but the application can then choose to use the COleDropSource and COleDropTarget classes to implement its own OLE drag & drop mechanisms.


Last Updated 08/13/2020 - (email)
© 2024 Softel vdm, Inc.