Event XbpCrt():dragLeave Foundation

Item has been moved outside a drop zone.

Syntax
:dragLeave := {| uNIL1, uNIL1, self | ... } --> self
:dragLeave( NIL, NIL ) --> self
xbeP_DragLeave (1048652)
Return

This method returns the object executing the method (self).

Description

The xbeP_DragLeave event is generated if an item is dragged outside of a drop zone. xbeP_DragMotion implicitly indicates that no drop operation will take place in the drop zone. Consequently, an Xbase++ application should free all data cached for the drag-and-drop operation.

The xbeP_DragLeave event is sent synchronously via the :handleEvent() method of an XbpCrt object. This means that xbeP_DragLeave is not retrieved by the AppEvent() function. As it is generated while the user manipulates an item, we strongly discourage to perform lengthy operations while processing the event.

Note also that in Xbase++, Xbase Parts are created and maintained by a special system thread called the UI thread, and that all events related to a drag-and-drop operation are executed in that thread. Therefore, the application must assume that all thread-local settings will contain default values when processing any of these events. For example, a work area opened in an application thread may not be available.

An example that illustrates how to accept items being dragged can be found under :dropZone.

The xbeP_DragLeave event is generated only if the value .T. (true) is assigned to the object's :dropZone instance variable. Also, mouse events must be enabled using SetMouse(.T.).

Feedback

If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.