[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] | Reference for unit 'Controls' (#lcl)

# TDragManager

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

The abstract base class used to manage dragging of controls (for drop or dock operations).

## Declaration

Source position: controls.pp line 628

`type TDragManager = class(TComponent)`
`protected`
`procedure KeyUp(); virtual; abstract;` |  | Handler for keyboard key released.
`procedure KeyDown(); virtual; abstract;` |  | Handler for keyboard key pressed.
`procedure CaptureChanged(); virtual; abstract;` |  | Aborts the dragging operation when the capture control has changed.
`procedure MouseMove(); virtual; abstract;` |  | Generates visual feedback for mouse movement in a drag operation.
`procedure MouseUp(); virtual; abstract;` |  | Ends a drag operation when a mouse up event has occurred.
`procedure MouseDown(); virtual; abstract;` |  | Performs actions when the drag manager needs to respond to a mouse button down event.
`public`
`constructor Create(); override;` |  | Initializes the drag parameters to Delphi-compatible values.
`function IsDragging; virtual; abstract;` |  | Check if dragging is in progress.
`function Dragging(); virtual; abstract;` |  | Indicates whether the specified control is the active drag object in the drag manager.
`procedure RegisterDockSite(); virtual; abstract;` |  | Adds the control to the list of registered docking sites.
`procedure DragStart(); virtual; abstract;` |  | Starts a drag operation for a control.
`procedure DragMove(); virtual; abstract;` |  | Updates the visual dragging feedback.
`procedure DragStop(); virtual; abstract;` |  | Ends dragging.
`function CanStartDragging(); virtual; abstract;` |  | Indicates if the mouse coordinates are within the drag threshold for the specified control.
`property DragImmediate: Boolean; [rw]` |  | Start dragging immediately on MouseDown.
`property DragThreshold: Integer; [rw]` |  | The threshold for mouse movement before delayed dragging starts (default is 5 pixels).
`end;`

## Inheritance

`TDragManager` |  | The abstract base class used to manage dragging of controls (for drop or dock operations).
`TComponent`
?
`TObject`

## Description

TDragManager specifies an object-oriented version of the Delphi drag manager. It is implemented by the TDragManagerDefault descendant.

Remark: | The registered dock sites should be stored in a persistent list, not in a DragManager instance.