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

# TDragManager

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

TDragManager - a class for managing the dragging of controls (eventually to be dropped or docked)

## Declaration

Source position: controls.pp line 451

`type TDragManager = class(TComponent)`
`protected`
`procedure KeyUp(); virtual; abstract;` |  | KeyUp - method for processing a key that is not pressed
`procedure KeyDown(); virtual; abstract;` |  | KeyDown - method for handling a key that is pressed down
`procedure CaptureChanged(); virtual; abstract;` |  | CaptureChanged - method for use when the identity of the captured control has changed
`procedure MouseMove(); virtual; abstract;` |  | MouseMove - method for processing a mouse movement
`procedure MouseUp(); virtual; abstract;` |  | MouseUp - method for processing a mouse button that is not pressed
`procedure MouseDown(); virtual; abstract;` |  | MouseDown - method for processing a mouse button that is pressed down
`public`
`constructor Create(); override;` |  | Create - constructor for TDragManager: calls inherited Create and sets default drag threshold; sets DragImmediate True
`function IsDragging; virtual; abstract;` |  | IsDragging - returns True if dragging is in progress
`function Dragging(); virtual; abstract;` |  | Dragging - returns True if the specified control is being dragged
`procedure RegisterDockSite(); virtual; abstract;` |  | RegisterDockSite - adds the nominated site to the list or register of docking sites
`procedure DragStart(); virtual; abstract;` |  | DragStart - begin the drag
`procedure DragMove(); virtual; abstract;` |  | DragMove - method for dragging to specified position (virtual method - needs to be supplied by user)
`procedure DragStop(); virtual; abstract;` |  | DragStop - finish the drag
`property DragImmediate: Boolean; [rw]` |  | Is the dragging process to start immediately the control receives focus (eg gets captured by mouse)?
`property DragThreshold: Integer; [rw]` |  | The threshold amount by which the mouse must move before the dragging process starts.
`end;`

## Inheritance

`TDragManager` |  | TDragManager - a class for managing the dragging of controls (eventually to be dropped or docked)
`TComponent`
`TObject`

## Description

The declaration contains a number of procedure definitions that are 'virtual' and 'abstract'. This means that there is no implementation specified: these essentially represent 'place-holders', and it is the responsibility of the developer of descendant classes to override these methods and implement them as desired.

The latest version of this document can be found at lazarus-ccr.sourceforge.net.