Sign in Join
FPDoc Onlineexperiment

Controls unit

Contains types, constants, classes, and routines used to implement visual controls.

controls.pp contains classes, types, constants, and routines used to implement visual controls used in the Lazarus Component Library ( LCL). Most of the classes are base classes, or used in the implementation of controls defined in others units.

The following components are added to the Common Controls tab in the Lazarus IDE component palette:

  • TImageList

The following components are registered but not displayed on the Lazarus IDE component palette:

  • TCustomControl
  • TGraphicControl

controls.pp is part of the Lazarus Component Library ( LCL).

Classes and records

ELayoutExceptionclassException raised when a loop is detected when adjusting the size for controls.
IObjInspInterfaceinterfaceDefines an interface used in the Lazarus Object Inspector.
TAlignInforecordUsed in custom alignment (alCustom).
TAnchorSideclassSpecifies how the side of a control is anchored to other controls.
TCMCancelModerecordContains information representing a CM_CANCELMODE control message.
TCMChangedrecordNot used in the current LCL implementation.
TCMChildKeyrecordNot used in the current LCL implementation.
TCMControlChangerecordContains values representing a Control Change Message.
TCMControlListChangerecordNot used in the current LCL implementation.
TCMMouseWheelrecordDefines a structure used for mouse wheel control messages.
TControlclassThe base class for visible controls.
TControlActionLinkclassLinks an Action to a control.
TControlBorderSpacingclassDescribes the (minimum) spacing around a control.
TControlBorderSpacingDefaultrecordDefines the default values for TControlBorderSpacing.
TControlCanvasclassBase class which provides a canvas property used in graphic controls.
TControlChildSizingclassProvides settings to layout child-controls into a grid (table) layout.
TControlFontclass
TControlPropertyStorageclassImplements the abstract ancestor class used to get the property list for a control.
TCustomControlclassThe base class for windowed controls which paint themselves.
TDockManagerclassThe layout manager for a docksite.
TDockTreeclassA tree of TDockZone instances where each docked window has one tree.
TDockZoneclassRepresents a node in a TDockTree
TDragControlObjectclassA drag object for dragging a control.
TDragControlObjectExclassA drag object for dragging a control.
TDragDockObjectclassA drag object for drag-dock.
TDragDockObjectExclassA drag object for docking that is automatically destroyed after use.
TDragImageListclassA multi-resolution list of Images used during Drag operations.
TDragImageListResolutionclassImplements an image list resolution with features used in Drag and Drop operations.
TDragManagerclassThe abstract base class used to manage dragging of controls (for drop or dock operations).
TDragObjectclassBase class for managing drag operations and user feedback.
TDragObjectExclassExtends TDragObject to automatically free itself in the DragManager.
TGraphicControlclassTGraphicControl is the base class for all lightweight controls.
THintInforecordContains content and state information for Hints displayed for a window or control.
TImageListclassImplements a multi-resolution container for images used in an application.
TImageListHelperhelperHelper class for TCustomImageList useful for images on TControl instances.
TLazAccessibleObjectclassRepresents an accessibility object for user or accessibility tool interactions.
TLazAccessibleObjectEnumeratorclassImplements an enumerator for a list of TLazAccessibleObject instances.
TMouseclassProvides access to properties of the Mouse.
TSizeConstraintsclassHolds minimum and maximum values for the width or height of a control.
TWinControlclassImplements a windowed control which can contain other child controls.
TWinControlEnumeratorclassImplements an enumerator for TWinControl instances.

Procedures and functions

AdjustBorderSpaceprocedureAdjusts the border space around the control to the client rectangle.
assign(Variant):TCaptionoperatorDeclares an assignment operator used to convert a Variant type to a TCaption type.
BidiFlipAlignmentfunctionGets the inverse alignment value when BiDiMode is enabled.
BidiFlipAnchorsfunctionSwaps left and right anchor side settings for the specified control when BiDiMode is enabled.
BidiFlipRectfunctionFlips the left and right coordinates in a rectangle and makes it relative to the ParentRect when Flip is True.
CancelDragprocedureCancels an active drag operation.
ChangeBiDiModeAlignmentprocedureFlips the value Alignment to reflect the value needed for BiDi mode.
CheckMouseButtonDownUpfunctionChecks for mouse click events for the specified control.
CheckTransparentWindowprocedureChecks whether the handle for a windowed control (or a parent control) is transparent.
CompareDataObjectWithLazAccessibleObjectfunctionCompares the specified pointers containing Lazarus accessibility object data and a accessibility object.
CompareLazAccessibleObjectsByDataObjectfunctionCompares the specified pointers containing a Lazarus accessibility object and a accessibility object data.
CursorToIdentfunctionUses a look-up table to find the cursor identifier corresponding to an Integer cursor constant.
CursorToStringfunctionReturns a string with the name for the cursor in the integer constant.
DbgSfunctionConverts items of several data types into strings, for debug output.
FindControlfunctionReturn the TWinControl for the given Handle.
FindControlAtPositionfunctionGets the control at the specified screen position.
FindDragTargetfunctionGets the drag target at the specified screen position.
FindLCLControlfunctionReturns the TControl currently visible at the specified screen position.
FindLCLWindowfunctionFind the window and its owning control at the given screen coordinates.
FindOwnerControlfunctionReturns the TWinControl for the given Handle; the parent control for a non-TWinControl Handle.
GetCaptureControlfunctionReturns the TControl instance with mouse capture enabled.
GetCursorValuesprocedureCalls the specified procedure for each of the cursor identifiers.
GetKeyShiftStatefunctionGets a set of state values for current modifier keys.
IdentToCursorfunctionConverts an identifier name for a cursor shape to its value as an Integer.
IsColorDefaultfunctionDetermines if the color for the control is the system default (GTK).
MoveWindowOrgprocedureMoves the origin for a windowed control.
RecreateWndprocedureCreates (or recreates) the widgetset class instance for a TWinControl.
RegisterprocedureRegister the components provided by this unit or package, so that they can be instantiated.
SendAppMessagefunctionSends an application message using the specified parameter values.
SetCaptureControlprocedureSet the mouse capture to the specified control, or one of its children, at the given coordinates.
StringToCursorfunctionStringToCursor - returns the cursor value corresponding to the name supplied.

Types

PControlBorderSpacingDefaulttypePointer to a TControlBorderSpacingDefault type.
PHintInfotypePointer to a THintInfo instance.
TAlignenumerationAlignment options for a control, within its Parent control.
TAlignInsertBeforeEventprocedure typeType of an OnAlignInsertBefore handler.
TAlignPositionEventprocedure typeType of an OnAlignPosition handler.
TAlignSetsetSet of alignment options.
TAnchorKindenumerationThe control side to be anchored.
TAnchorssetSet type used to store values from the TAnchorKind enumeration.
TAnchorSideChangeOperationenumerationOperations in
TAnchorSideReferenceenumerationThe side of another control, to which this control's side is anchored.
TBevelCuttypeAlias for the TGraphicsBevelCut type.
TBorderStyletypePossible types of borders (with or without border).
TBorderWidthtypeInteger type used for .
TCaptiontypeA string type used for the caption on a control.
TCaptureMouseButtonssetSet type used to store TMouseButton values.
TChildControlResizeStyleenumerationDefines how child controls are resized / aligned.
TCMDesignHitTesttypeAlias for the TLMMouse type.
TCMDialogChartypeAlias for the TLMKey type.
TCMDialogKeytypeAlias for the TLMKey type.
TCMEntertypeAlias for the TLMEnter type.
TCMExittypeAlias for the TLMExit type.
TCMHitTesttypeAlias for the TLMNCHitTest type.
TConstrainedResizeEventprocedure typeSpecifies an event handler signalled to resize a control to the specified size constraints.
TConstraintSizetypeRange for control size constraints.
TContextPopupEventprocedure typeHandler type for OnContextPopup.
TControlActionLinkClasstypeClass type used to create new instances of TControlActionLink.
TControlAtPosFlagenumerationFlags for finding a control at a given (client) position.
TControlAtPosFlagssetSet type used to store values from the TControlAtPosFlag enumeration.
TControlAutoSizePhaseenumerationRepresents AutoSizing phases for controls.
TControlAutoSizePhasessetSet type used to store values from the TControlAutoSizePhase enumeration.
TControlBorderStyletypePossible types of control borders (with or without border).
TControlCellAlignenumerationModes for aligning a control in a table cell.
TControlCellAlignssetSet type used to store values from the TControlCellAlign enumeration.
TControlChildrenLayoutenumerationDefines the logic used to arrange child controls.
TControlClasstypeTControlClass - class of TControl.
TControlFlagenumerationFlags values used mostly for pending actions in a control.
TControlFlagssetSet type used to store values from the TControlFlag enumeration.
TControlFontClasstype
TControlHandlerTypeenumerationNotification handler types.
TControlRoleForFormenumerationPossible default actions on special keys.
TControlRolesForFormsetSet type used to store values from the TControlRoleForForm enumeration.
TControlShowHintEventprocedure typeType used to implement an OnShowHint event handler.
TControlStatesetSet of control states used in a control.
TControlStateTypeenumerationState flags of a Control.
TControlStylesetSet type used to store values from the TControlStyleType enumeration.
TControlStyleTypeenumerationEnumerated type with values for features or behaviors for a control.
TCursortypeDefines the range of values used for cursor shapes.
TDockDropEventprocedure typeThe type of an OnDockDrop handler.
TDockManagerClasstypeThe DockManager class type, for use when a DockManager is automatically created.
TDockOrientationenumerationOrientation of DockZones and docked controls, similar to
TDockOverEventprocedure typeThe type of an OnDockOver handler.
TDockTreeFlagenumerationRepresents flag values used in TDockTree.
TDockTreeFlagssetSet type used to store values from the TDockTreeFlag enumeration.
TDockZoneClasstypeClass of
TDragDropEventprocedure typeThe type of an OnDragDrop notification handler.
TDragKindenumerationIndicates whether the control performs drag-drop or drag-dock operation.
TDragMessageenumerationMessage types used in DragManager.
TDragModeenumerationIndicates whether a drag operation can start automatically.
TDragObjectClasstypeA class type.
TDragOverEventprocedure typeThe type of an OnDragOver handler.
TDragStateenumerationValues representing State changes for a drag operation.
TDrawDockImageEventprocedure typeEvent handler used to draw the docking image in a drag and dock operation.
TEndDragEventprocedure typeThe type of an OnEndDrag handler.
TForEachZoneProcprocedure typeThe type for a ForEachZone callback procedure, currently unused.
TFormBorderStyleenumerationRepresents border styles available for a Form.
TFormStyleenumerationDefines special form behavior.
TGetChildProcprocedure typeType used for a callback method, to be called for all children of a control.
TGetDockCaptionEventprocedure typeSpecifies an event handler used to get the caption for a docked control.
TGetSiteInfoEventprocedure typeAn OnGetSiteInfo handler returns information about a docksite.
TKeyEventprocedure typeDefines an event handler for key events.
TKeyPressEventprocedure typeSpecifies an event handler for key press events.
TLayoutAdjustmentPolicyenumerationIndicates the policy for the LCL to execute automatic adjustments in the form layout.
TLazAccessibilityRoleenumerationIndicates the role which a accessible object takes in the user interface.
TMouseButtonenumerationEnumeration with values for logical mouse buttons.
TMouseEventprocedure typeSpecifies an event handler used to respond to mouse button events.
TMouseMoveEventprocedure typeSpecifies an event handler used to respond to mouse movement events.
TMouseWheelEventprocedure typeSpecifies an event handler used to respond to mouse wheel events.
TMouseWheelUpDownEventprocedure typeType of OnMouseWheelUp/Down event handlers.
TSizeConstraintsOptionenumerationEnumerated type with options used in TSizeConstraints.
TSizeConstraintsOptionssetSet type used to store values from the TSizeConstraintsOption enumeration.
TSpacingSizetypeAlias to the Integer type.
TStartDockEventprocedure typeThe type of an OnStartDock handler.
TStartDragEventprocedure typeThe type of an OnStartDrag handler.
TTabOrdertypeRange type used to represent the tab order for windowed controls.
TUnDockEventprocedure typeThe type used for OnUnDock event handler.
TUTF8KeyPressEventprocedure typeSpecifies an event handler for UTF-8-encoded key press events.
TWinControlActionLinktypeAlias for the TControlActionLink type.
TWinControlActionLinkClasstypeClass type used to create new instances of TWinControlActionLink.
TWinControlClasstypeTWinControlClass - class of TWinControl.
TWinControlFlagenumerationState flags of TWinControl.
TWinControlFlagssetSet type used to store TWinControlFlag enumeration values.
TWndMethodprocedure typeMethod type for WindowProc handlers.

Constants

AnchorAlignconstantArray with sets of anchors used for a given alignment option.
AnchorReferenceSideconstantNot used in the current LCL version.
asrLeftconstantAnchor to the left side (=asrTop).
asrRightconstantAnchor to the right side (=asrBottom).
bvLoweredconstantAlias to the bvLowered constant in the GraphType unit.
bvNoneconstantAlias to the bvNone constant in the GraphType unit.
bvRaisedconstantAlias to the bvRaised constant in the GraphType unit.
bvSpaceconstantAlias to the bvSpace constant in the GraphType unit.
ClockwiseAnchorconstantUsed in the AnchorDocking package for the Lazarus IDE.
CM_ACTIONEXECUTEconstantControl message constant.
CM_ACTIONUPDATEconstantControl message constant.
CM_ACTIVATEconstantControl message constant.
CM_ALLCHILDRENFLIPPEDconstantControl message constant.
CM_APPKEYDOWNconstantControl message constant.
CM_APPSHOWBTNGLYPHCHANGEDconstantControl message constant.
CM_APPSHOWMENUGLYPHCHANGEDconstantControl message constant.
CM_APPSYSCOMMANDconstantControl message constant.
CM_BASEconstantStarting value for control message constants defined in the LCL.
CM_BIDIMODECHANGEDconstantControl message constant.
CM_BORDERCHANGEDconstantControl message constant.
CM_BUFFEREDPRINTCLIENTconstantControl message constant.
CM_BUTTONPRESSEDconstantControl message constant.
CM_CANCELMODEconstantControl message constant.
CM_CHANGEDconstantControl message constant.
CM_CHILDKEYconstantControl message constant.
CM_COLORCHANGEDconstantControl message constant.
CM_CONTROLCHANGEconstantControl message constant.
CM_CONTROLLISTCHANGEconstantControl message constant.
CM_CONTROLLISTCHANGINGconstantControl message constant.
CM_CREATEPOPUPconstantControl message constant.
CM_CTL3DCHANGEDconstantControl message constant.
CM_CURSORCHANGEDconstantControl message constant.
CM_CUSTOMGESTURESCHANGEDconstantControl message constant.
CM_DEACTIVATEconstantControl message constant.
CM_DESIGNHITTESTconstantControl message constant.
CM_DESTROYHANDLEconstantControl message constant.
CM_DIALOGCHARconstantControl message constant.
CM_DIALOGHANDLEconstantControl message constant.
CM_DIALOGKEYconstantControl message constant.
CM_DOCKCLIENTconstantControl message constant.
CM_DOCKNOTIFICATIONconstantControl message constant.
CM_DOCWINDOWACTIVATEconstantControl message constant.
CM_DOUBLEBUFFEREDCHANGEDconstantControl message constant.
CM_DRAGconstantControl message constant.
CM_ENABLEDCHANGEDconstantControl message constant.
CM_ENTERconstantControl message constant.
CM_EXITconstantControl message constant.
CM_FLOATconstantControl message constant.
CM_FOCUSCHANGEDconstantControl message constant.
CM_FONTCHANGEconstantControl message constant.
CM_FONTCHANGEDconstantControl message constant.
CM_GESTUREconstantControl message constant.
CM_GESTUREMANAGERCHANGEDconstantControl message constant.
CM_GETDATALINKconstantControl message constant.
CM_GOTFOCUSconstantControl message constant.
CM_HINTSHOWconstantControl message constant.
CM_HINTSHOWPAUSEconstantControl message constant.
CM_HITTESTconstantControl message constant.
CM_ICONCHANGEDconstantControl message constant.
CM_INPUTLANGCHANGEconstantControl message constant.
CM_INVALIDATEconstantControl message constant.
CM_INVALIDATEDOCKHOSTconstantControl message constant.
CM_INVOKEHELPconstantControl message constant.
CM_ISSHORTCUTconstantControl message constant.
CM_ISTOOLCONTROLconstantControl message constant.
CM_LCLOFFSETconstantControl message constant.
CM_LOSTFOCUSconstantControl message constant.
CM_MASKHITTESTconstantControl message constant implement by controls with an irregular shape to check if a point belongs to a shape.
CM_MENUCHANGEDconstantControl message constant.
CM_MOUSEACTIVATEconstantControl message constant.
CM_MOUSEENTERconstantControl message constant.
CM_MOUSELEAVEconstantControl message constant.
CM_MOUSEWHEELconstantControl message constant.
CM_PARENTBIDIMODECHANGEDconstantControl message constant.
CM_PARENTCOLORCHANGEDconstantControl message constant.
CM_PARENTCTL3DCHANGEDconstantControl message constant.
CM_PARENTDOUBLEBUFFEREDCHANGEDconstantControl message constant.
CM_PARENTFONTCHANGEDconstantControl message constant.
CM_PARENTSHOWHINTCHANGEDconstantControl message constant.
CM_PARENTTABLETOPTIONSCHANGEDconstantControl message constant.
CM_POPUPHWNDDESTROYconstantControl message constant.
CM_RECREATEWNDconstantControl message constant.
CM_RELEASEconstantControl message constant.
CM_SETACTIVECONTROLconstantControl message constant.
CM_SHOWHINTCHANGEDconstantControl message constant.
CM_SHOWINGCHANGEDconstantControl message constant.
CM_STANDARDGESTURESCHANGEDconstantControl message constant.
CM_SYSCOLORCHANGEconstantControl message constant.
CM_SYSFONTCHANGEDconstantControl message constant.
CM_TABLETOPTIONSCHANGEDconstantControl message constant.
CM_TABSTOPCHANGEDconstantControl message constant.
CM_TEXTCHANGEDconstantControl message constant.
CM_THEMECHANGEDconstantControl message constant.
CM_TIMECHANGEconstantControl message constant.
CM_UIACTIVATEconstantControl message constant.
CM_UIDEACTIVATEconstantControl message constant.
CM_UNDOCKCLIENTconstantControl message constant.
CM_UNTHEMECONTROLconstantControl message constant.
CM_UPDATEACTIONSconstantControl message constant.
CM_VISIBLECHANGEDconstantControl message constant.
CM_WANTSPECIALKEYconstantControl message constant.
CM_WINDOWHOOKconstantControl message constant.
CM_WININICHANGEconstantControl message constant.
CN_BASEconstantStarting value for control notification messages in the LCL.
CN_CHARconstantControl notification message constant.
CN_CHARTOITEMconstantControl notification message constant.
CN_COMMANDconstantControl notification message constant.
CN_COMPAREITEMconstantControl notification message constant.
CN_CTLCOLORBTNconstantControl notification message constant.
CN_CTLCOLORDLGconstantControl notification message constant.
CN_CTLCOLOREDITconstantControl notification message constant.
CN_CTLCOLORLISTBOXconstantControl notification message constant.
CN_CTLCOLORMSGBOXconstantControl notification message constant.
CN_CTLCOLORSCROLLBARconstantControl notification message constant.
CN_CTLCOLORSTATICconstantControl notification message constant.
CN_DELETEITEMconstantControl notification message constant.
CN_DRAWITEMconstantControl notification message constant.
CN_HSCROLLconstantControl notification message constant.
CN_KEYDOWNconstantControl notification message constant.
CN_KEYUPconstantControl notification message constant.
CN_MEASUREITEMconstantControl notification message constant.
CN_NOTIFYconstantControl notification message constant.
CN_PARENTNOTIFYconstantControl notification message constant.
CN_SYSCHARconstantControl notification message constant.
CN_SYSKEYDOWNconstantControl notification message constant.
CN_SYSKEYUPconstantControl notification message constant.
CN_VKEYTOITEMconstantControl notification message constant.
CN_VSCROLLconstantControl notification message constant.
crAppStartconstantApplication starting cursor.
crArrowconstantThe Arrow cursor, which is the most common and the default one in most cases.
crCrossconstantA cursor utilized for graphics, for pixel or rectangle selection, often in the shape of a cross.
crDefaultconstantIndicates that the default cursor from the system should be utilized.
crDragconstantA cursor to indicate that one can drop a dragged item in this area.
crHandPointconstantPointing hand cursor constant (-21).
crHelpconstant"What's This" Help cursor constant (-20).
crHighconstantHighest defined cursor constant (0).
crHourGlassconstantBusy cursor constant, utilized to indicate that one should wait while an action is done.
crHSplitconstantHorizontal Splitter cursor constant (-14).
crIBeamconstantA text cursor, for setting insertion point. Often used in text editors.
crLowconstantLowest defined cursor constant (-30).
crMultiDragconstantMultiple Object dragging cursor constant (-16).
crNoconstantShows a negative sign. See also .
crNoDropconstantA cursor to indicate that one cannot drop a dragged item in this area.
crNoneconstantIndicates that the cursor should be invisible.
crSizeconstantA generic sizing cursor, to indicate that here one may drag to resize something. Is the same as crSizeAll.
crSizeAllconstantAll Directions sizing cursor constant (-22).
crSizeEconstantA cursor for resizing which has an arrow pointing to the right, to indicate resizing possibility in this direction.
crSizeNconstantA cursor for resizing which has an arrow pointing upwards, to indicate resizing possibility in this direction.
crSizeNEconstantA cursor for resizing which has an arrow pointing to the right-top corner, to indicate resizing possibility in this direction.
crSizeNESWconstantA cursor for resizing which runs diagonally from NorthEast to SouthWest (-6).
crSizeNSconstantA cursor for resizing which cursor runs from North to South (-7).
crSizeNWconstantA cursor for resizing which has an arrow pointing to the left-top corner, to indicate resizing possibility in this direction.
crSizeNWSEconstantA cursor for resizing which cursor runs from NorthWest to SouthEast.
crSizeSconstantA cursor for resizing which has an arrow pointing downwards, to indicate resizing possibility in this direction.
crSizeSEconstantA cursor for resizing which has an arrow pointing to the right-bottom corner, to indicate resizing possibility in this direction.
crSizeSWconstantA cursor for resizing which has an arrow pointing to the left-bottom corner, to indicate resizing possibility in this direction.
crSizeWconstantA cursor for resizing which has an arrow pointing to the left, to indicate resizing possibility in this direction.
crSizeWEconstantA cursor for resizing which has an arrow with two points, one to the left and another to the right, to indicate resizing possibility in both directions.
crSQLWaitconstantWaiting for SQL cursor constant (-17).
crUpArrowconstantUp Arrow cursor constant (-10).
crVSplitconstantVertical Split cursor constant (-15).
csMultiClicksconstantSet of style values which require/provide multiple clicks on a control.
DefaultSideForAnchorKindconstantProvides adjacent edges where controls are aligned for a given anchor kind.
fsAllNonSystemStayOnTopconstantSet of form styles except those which make a form stay on top of all other forms of the system.
fsAllStayOnTopconstantSet of form styles which make a form stay on top.
fsBorderconstantAlias to the fsBorder constant in the GraphType unit.
fsSurfaceconstantAlias to the fsSurface constant in the GraphType unit.
GUID_ObjInspInterfaceconstantGUID for the Object Inspector in the Lazarus IDE.
MainAlignAnchorconstantUsed in the AnchorDocking package for the Lazarus IDE.
mrAbortconstantModal dialog aborted.
mrAllconstantModal dialog exited with the All button.
mrCancelconstantModal dialog exited with the Cancel button.
mrCloseconstantModal dialog exited with the Close button.
mrIgnoreconstantModal dialog exited with the Ignore button.
mrLastconstantLast (highest) value of modal results.
mrNoconstantModal dialog exited with the No button.
mrNoneconstantModal dialog exited with the None button.
mrNoToAllconstantModal dialog exited with the NoToAll button.
mrOKconstantModal dialog exited with the OK button.
mrRetryconstantModal dialog exited with the Retry button.
mrYesconstantModal dialog exited with the Yes button.
mrYesToAllconstantModal dialog exited with the YesToAll button.
OppositeAnchorconstantUsed in the AnchorDocking package for the Lazarus IDE.
ssModifierconstantDefines the key used for shortcuts on different platforms.

Variables

DefaultDockManagerClassvariableThe default class used to create a DockManager in .
DockSplitterClassvariableClass type used to create new splitter class instances.
DragManagervariableThe current DragManager (always TDragManagerDefault).
MousevariableThe global TMouse instance for the unit.
NewStyleControlsvariableUsed in SynEdit.
OnDrawDockImagevariableRoutine used to draw dock images in drag/dock operations

Topics

AnchoringControlstopicHow multiple controls can be aligned and resized together, at run-time.
AutoSizetopicAutoSize - boolean property that permits the size of a control to be adjusted automatically.
ControlCoordinatestopicThe coordinates of a control can be specified or retrieved in various ways

Uses

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