BeginDrag

The BeginDrag event has different arguments for different objects:

Object

See

ListView control

Syntax 1 For ListView controls

TreeView control

Syntax 2 For TreeView controls


Syntax 1 For ListView controls

Description

Occurs when the user presses the left mouse button in the ListView control and begins dragging.

Event ID

Event ID

Objects

pbm_lvnbegindrag

ListView

Arguments

Argument

Description

index

Integer by value (the index of the ListView item being dragged)

Returns

Long. Return code choices (specify in a RETURN statement):

Usage

BeginDrag and BeginRightDrag events occur when the user presses the mouse button and drags, whether or not dragging is enabled. To enable dragging, you can:

Dragging a ListView item onto another control causes its standard drag events (DragDrop, DragEnter, DragLeave, and DragWithin) to occur. The standard drag events occur for ListView when another control is dragged within the borders of the ListView.

Examples

Example 1

This example moves a ListView item from one ListView to another. Ilvi_dragged_object is a window instance variable whose type is ListViewItem. To copy the item, omit the code that deletes it from the source ListView.

This code is in the BeginDrag event script of the source ListView:

// If the TreeView's DragAuto property is FALSE

This.Drag(Begin!)


This.GetItem(This.SelectedIndex(), &

   ilvi_dragged_object)


// To copy, rather than move, omit these two lines

This.DeleteItem(This.SelectedIndex())

This.Arrange()

Example 2

This code is in the DragDrop event of the target ListView:

This.AddItem(ilvi_dragged_object)

This.Arrange()

See also


Syntax 2 For TreeView controls

Description

Occurs when the user presses the left mouse button on a label in the TreeView control and begins dragging.

Event ID

Event ID

Objects

pbm_tvnbegindrag

TreeView

Arguments

Argument

Description

handle

Long by value (handle of the TreeView item being dragged)

Returns

Long. Return code choices (specify in a RETURN statement):

Usage

BeginDrag and BeginRightDrag events occur when the user presses the mouse button and drags, whether or not dragging is enabled. To enable dragging, you can:

The user cannot drag a highlighted item.

Dragging a TreeView item onto another control causes the control’s standard drag events (DragDrop, DragEnter, DragLeave, and DragWithin) to occur. The standard drag events occur for TreeView when another control is dragged within the borders of the TreeView.

Examples

Example 3

This example moves the first TreeView item in the source TreeView to another TreeView when the user drags there. Itvi_dragged_object is a window instance variable whose type is TreeViewItem. To copy the item, omit the code that deletes it from the source TreeView.

This code is in the BeginDrag event script of the source TreeView:

long itemnum


// If the TreeView's DragAuto property is FALSE

This.Drag(Begin!)

itemnum = 1

This.GetItem(itemnum, itvi_dragged_object)


// To copy, rather than move, omit these two lines

This.DeleteItem(itemnum)

This.SetRedraw(TRUE)

Example 4

This code is in the DragDrop event of the target TreeView:

This.InsertItemLast(0, ilvi_dragged_object)

This.SetRedraw(TRUE)

Instead of deleting the item from the source TreeView immediately, consider deleting it after the insertion in the DragDrop event succeeds.

See also