Short Name: Start Drag
Requires: Base Development System
Class: Control Methods
To Use: Create a method.
Starts a drag and drop operation using the specified control as the source.
You can use this method to start drag and drop operations in response to user-defined actions instead of the built-in behavior with string, tree, listbox, and multicolumn listbox controls. For controls other than the string, tree, listbox, and multicolumn listbox, the Start Drag method is the only way to start a drag using this control as a drag source.
You must specify what data to provide during the drag and drop operation. Optionally, you can specify the drag mode, and corresponding default cursor feedback, to reflect whether this drag and drop operation supports moving the data instead of only copying it. During a drag and drop operation, only drag and drop events are available. Mouse events are not available.
If there is already a drag in progress, LabVIEW returns an error. If you pass an empty array for the data parameter, the drag operation does not start and LabVIEW returns an error. If the array of data passed contains duplicate data names or data that conflicts with built-in types, LabVIEW returns an error.
After you use this method, LabVIEW remains in the middle of a drag and drop operation until the user cancels the drag by pressing the <Esc> key or lifting the mouse button, or until a window opens in front of the window that has the source control.
The Drag Data parameter is an array of clusters, each cluster containing a label and corresponding data. Each label must be unique and cannot use the LV_ prefix. Each element of the array must be of the same data type. The Drag Mode parameter specifies the operation of the drag, such as copy, move, or copy and move. If you select copy or move, pressing the <Ctrl> key copies the item.
|Drag Data||Yes||Indicates the LabVIEW or user-defined name that identifies the data type.
You cannot use the prefix LV_ on a user-defined data name, because it is reserved for LabVIEW data types. You can use the following built-in LabVIEW data types and names:
|Drag Mode||No||Specifies the operations that this control supports during the drag, such as copy or move, copy only, move only. If you select copy or move, pressing the <Ctrl> key copies the item. The operations you support control the values that the Results output of the Drag Ended and Drag Source Update events can provide. |
For filter events, you can modify this field to change the drag mode when this event is generated.
The following table lists the characteristics of this method.
|Data type||No return value|
|Available in Run-Time Engine||Yes (Read/Write)|
|Available in Real-Time Operating System||No|
|Settable when the VI is running||Yes|
|Loads the front panel into memory||No|
|Need to authenticate before use||No|
|Loads the block diagram into memory||No|
|Remote access allowed||Yes|
|Must wait until user interface is idle||No|
|Available with control VIs||No|
|Available with global VIs||No|
|Available with strict type definitions||Yes|
|Available with polymorphic VIs||No|
Refer to the Drag and Drop - Initiating a Custom Drag VI in the labview\examples\Structures\Event Structure directory for an example of using the Start Drag method.