Drag
PowerScript function
Description
Starts or ends the dragging of a control.
Applies to
All controls except drawing objects (Lines, Ovals, Rectangles, and
Rounded Rectangles)
Syntax
|
1 |
control.Drag ( dragmode ) |
|
Argument |
Description |
|---|---|
|
control |
The name of the control you want to drag or stop |
|
dragmode |
A value of the DragMode datatype indicating the action you
|
Return value
Integer.
For all controls except OLE controls, returns 1 if it succeeds and
-1 if you try to nest drag events or try to cancel the drag when control
is not in drag mode. The return value is usually not used.
For OLE controls, returns the following values:
2 — Object was moved
1 — Drag was canceled
0 — Drag succeeded
-1 — Control is empty
-9 — Unspecified error
If any argument’s value is null, Drag returns null.
Usage
To see the list of draggable controls, open the Browser. All the
objects in the hierarchy below dragobject are draggable.
If you set the control’s DragAuto property to true, PowerBuilder
automatically puts the control in drag mode when the user clicks it. The
user must hold the mouse button down to drag.
When you use Drag(Begin!) in a control’s Clicked event to manually
put the control in drag mode, the user can drag the control by moving the
mouse without holding down the mouse button. Clicking the left mouse
button ends the drag. CANCEL! and END! are required only if you want to
end the drag without requiring the user to click the left mouse
button.
Dragging DataWindow controls
The Clicked event of a DataWindow control occurs when the user
presses the mouse button, not when the mouse button is released. If you
place Drag(Begin!) in a DataWindow control’s Clicked event, releasing
the mouse button ends the drag. To achieve the same behavior as with
other controls, define a user-defined event for the DataWindow control
called lbuttonup and map it to the pbm_lbuttonup event ID. Then place
the following code in the lbuttonup event script (ib_dragflag is a
boolean instance variable):
|
1 2 3 4 5 6 |
IF NOT ib_dragflag THEN this.Drag(Begin!) ib_dragflag = TRUE ELSE ib_dragflag = FALSE END IF |
To make something happen when the user drags a control onto a target
object, write scripts for one or more of the target’s drag events
(DragDrop, DragEnter, DragLeave, and DragWithin).
Examples
This statement puts sle_emp into drag mode:
|
1 |
sle_emp.Drag(Begin!) |
See also