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

# Reference for unit 'Controls'

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

`uses`
`System.UITypes,`
`Classes,`
`SysUtils,`
`TypInfo,`
`Types,`
`AVL_Tree,`
`LCLStrConsts,` |  | Contains resource strings used in the LCL.
`LCLType,` |  | Provides compatibility with the Delphi Windows unit.
`LCLProc,` |  | Useful lower-level helper functions and classes.
`Graphics,` |  |
`LMessages,` |  | Contains Lazarus message codes and their mapping to message codes for other platforms/widgetsets.
`LCLIntf,` |  | Contains WinAPI-like functions for Delphi compatibility.
`InterfaceBase,` |  | Provides a platform-independent widgetset class and helper functions.
`ImgList,` |  | Contains classes and types used in TCustomImageList, the base class for TImageList.
`PropertyStorage,` |  | Provides the base class for a storage container use to save and restore control or form properties.
`Menus,` |  | Implements menus used in forms created with the Lazarus IDE.
`ActnList,` |  | Defines classes for Actions and lists of Actions for use in LCL components.
`LCLClasses,` |  | Defines the base class for all LCL TComponents including controls.
`LResources,` |  | Maintains a global list of Lazarus resources, and provides methods and types used to stream components.
`LCLPlatformDef,` |  | Contains routines and types used in LCL Platform definitions.
`GraphType,`
`GraphMath,`
`LazMethodList,`
`LazLoggerBase,`
`LazTracer,`
`LazUtilities;`

## Overview

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).

## Related topics

`AnchoringControls` |  | How multiple controls can be aligned and resized together, at run-time.
`ControlCoordinates` |  | The coordinates of a control can be specified or retrieved in various ways
`AutoSize` |  | AutoSize - boolean property that permits the size of a control to be adjusted automatically.