Sign in Join
FPDoc Onlineexperiment

TDragManager class

In unit Controls

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

Declaration

pascal
TDragManager = class(TComponent)

Inheritance

  1. TDragManager
  2. TComponent
  3. TPersistent
  4. TObject

Description

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

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

Properties

DragImmediatepublicStart dragging immediately on MouseDown.
DragThresholdpublicThe threshold for mouse movement before delayed dragging starts (default is 5 pixels).

Methods

KeyUpprotectedHandler for keyboard key released.
KeyDownprotectedHandler for keyboard key pressed.
CaptureChangedprotectedAborts the dragging operation when the capture control has changed.
MouseMoveprotectedGenerates visual feedback for mouse movement in a drag operation.
MouseUpprotectedEnds a drag operation when a mouse up event has occurred.
MouseDownprotectedPerforms actions when the drag manager needs to respond to a mouse button down event.
CreatepublicInitializes the drag parameters to Delphi-compatible values.
IsDraggingpublicCheck if dragging is in progress.
DraggingpublicIndicates whether the specified control is the active drag object in the drag manager.
RegisterDockSitepublicAdds the control to the list of registered docking sites.
DragStartpublicStarts a drag operation for a control.
DragStartAfterDelaypublic
DragMovepublicUpdates the visual dragging feedback.
DragStoppublicEnds dragging.
CanStartDraggingpublicIndicates if the mouse coordinates are within the drag threshold for the specified control.

Inherited

From TComponent (75)

_AddRef _Release BeforeDestruction CanObserve ChangeName ComObject ComponentCount ComponentIndex Components ComponentState ComponentStyle DefineProperties DesignInfo Destroy DestroyComponents Destroying ExecuteAction FindComponent FreeNotification FreeOnRelease GetChildOwner GetChildParent GetChildren GetDeltaStreams GetEnumerator GetIDsOfNames GetNamePath GetObservers GetOwner GetParentComponent GetTypeInfo GetTypeInfoCount HasParent iicrGetComponent InsertComponent Invoke IsImplementorOf Loaded Loading Name Notification ObserverAdded Observers OnGetDeltaStreams Owner PaletteCreated QueryInterface ReadDeltaState ReadDeltaStream ReadState ReferenceInterface RemoveComponent RemoveFreeNotification RemoveFreeNotifications SafeCallException SetAncestor SetChildOrder SetDesigning SetDesignInstance SetInline SetName SetParentComponent SetSubComponent Tag ToString TToStringNameMode UpdateAction Updated UpdateRegistry Updating ValidateContainer ValidateInsert ValidateRename VCLComObject WriteState

From TPersistent (5)

Assign AssignTo FPOAttachObserver FPODetachObserver FPONotifyObservers

From TObject (37)

AfterConstruction CheckDisposed ClassInfo ClassName ClassNameIs ClassParent ClassType CleanupInstance DefaultHandler DefaultHandlerStr Dispatch DispatchStr Disposed DisposeOf Equals FieldAddress Free FreeInstance GetDisposed GetHashCode GetInterface GetInterfaceByStr GetInterfaceEntry GetInterfaceEntryByStr GetInterfaceTable GetInterfaceWeak GetLastCastErrorInfo InheritsFrom InitInstance InstanceSize MethodAddress MethodName newinstance QualifiedClassName StringMessageTable SystemHasExtendedRTTI UnitName

An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.