[Index][Class hierarchy] | (#lcl)

# Reference for package 'lcl'

(LCL) Lazarus Component Library.

## Units

`ActnList` |  | Defines classes for Actions and lists of Actions for use in LCL components.
`alllclunits` |  | Includes all of the LCL units and registers their components in the Lazarus IDE.
`Arrow` |  | Defines an Arrow symbol widely used in forms.
`AsyncProcess` |  | Implements a process with asynchronous event notifications.
`ButtonPanel` |  | Provides a panel with buttons using glyph images.
`Buttons` |  | Contains types and classes used to implement specialized buttons.
`CalcForm` |  | Contains classes and types used in TCalculatorForm.
`Calendar` |  | Classes and types used to implement TCalendar, a graphic control allowing selection of a date from a calendar display.
`CalendarPopup` |  | Implements a pop-up form with a TCalendar control for TDateEdit.
`CheckLst` |  | Classes defining TCheckListBox - a List Box with Check Box items.
`Clipbrd` |  | Definitions for the Clipboard to hold Cut or Copied data for Pasting.
`ColorBox` |  | Defines classes for selecting a color from a combo-box or a list box.
`ComboEx` |  | Contains classes, types, and routines used to implement the TComboBoxEx and TCheckComboBox visual components.
`ComCtrls` |  | Common controls used in Lazarus forms.
`Controls` |  | Contains types, constants, classes, and routines used to implement visual controls.
`CustomDrawnControls` |  | Contains classes used to implement custom-drawn components or controls.
`CustomDrawnDrawers` |  | Contains classes and routines used to draw custom-drawn controls for various platforms, operating systems, or user-specified styles.
`CustomDrawn_Android` |  | Contains classes used to implement custom-drawn controls using the drawing style for the Android platform.
`CustomDrawn_Common` |  | Contains the common base class for renders in custom-drawn controls.
`CustomDrawn_Mac` |  | Contains classes used to implement custom-drawn controls using the macOS drawing style.
`CustomDrawn_WinXP` |  | Contains classes used to implement custom-drawn controls using the Windows XP drawing style.
`CustomTimer` |  | Contains the definition of the base class for TTimer.
`DBActns` |  | Standard actions used to navigate and manipulate a dataset in a datasource.
`DBCtrls` |  | Data-aware controls commonly used for viewing and operating on information held in databases.
`DBExtCtrls` |  | Contains extended database controls.
`DBGrids` |  | Implements a data-aware grid to display and operate on information in a database.
`DBLogDlg` |  | Contains forms and routines used to implement a database login dialog.
`DefaultTranslator` |  | Performs string translations using the language selected for the project.
`DialogRes` |  | Contains types and constants used to access scalable dialog images.
`Dialogs` |  | Contains common dialogs used in Lazarus LCL applications.
`EditBtn` |  | Implements specialized edit controls with attached speed buttons.
`ExtCtrls` |  | Contains extra controls commonly used in Lazarus forms.
`ExtDlgs` |  | Contains extended dialogs used for Calendar, Calculator and Picture Open/Save tasks.
`ExtGraphics` |  | Types and routines used to implement extended graphic drawing.
`FileCtrl` |  | Implements list box and combo-box controls used to select files on the local file system.
`FindDlgUnit` |  | Contains a form template for the find dialog in LCL.
`Forms` |  | Implements Forms which are the basis for the LCL Graphical User Interface.
`Graphics` |  |
`GraphUtil` |  | Contains routines and types used when drawing graphics.
`Grids` |  | Classes for displaying tabular data as a series of rows and columns.
`GroupedEdit` |  | Provides the base class for grouped edit controls.
`HelpIntfs` |  | Interfaces to define the abstract HelpSystem.
`IcnsTypes` |  | Provides support for Mac OS X icon resources.
`ImageListCache` |  | Implements a caching mechanism for TCustomImageList (TImageList) instances.
`ImgList` |  | Contains classes and types used in TCustomImageList, the base class for TImageList.
`IndustrialBase` |  | Contains the base class for a graphic control with an anti-aliasing setting.
`IniPropStorage` |  | Contains a component that stores Form Session Properties in INI format.
`InterfaceBase` |  | Provides a platform-independent widgetset class and helper functions.
`IntfGraphics` |  | Classes and functions for easy handling of raw images (interface images).
`JSONPropStorage` |  | Contains a component that stores Form Session Properties in JSON format.
`LazCanvas` |  | Classes and functions for extending TFPImageCanvas.
`LazDeviceApis` |  | LCL APIs for accessing hardware sensors (such as Accelerometer, GPS, etc) and integrated elements of the system (such as Calendar, Contacts, etc).
`LazDialogs` |  | Contains classes, types, and routines needed for Lazarus dialogs in custom-drawn and non-desktop environments.
`LazFreeTypeIntfDrawer` |  | LCL interface class for the text renderer in the FreeType package.
`LazHelpHTML` |  | Contains types and classes used to integrate and access help files in HTML format.
`LazHelpIntf` |  | Defines base classes used in the LCL help system.
`LazRegions` |  | Implements non-native regions with support for managing their Z-order.
`LCL`
`LCLClasses` |  | Defines the base class for all LCL TComponents including controls.
`LCLIntf` |  | Contains WinAPI-like functions for Delphi compatibility.
`LCLMemManager` |  | Base class for a memory manager used in the LCL and its interfaces.
`LCLMessageGlue` |  | Contains routines used to send messages from widgetset classes to the LCL.
`LCLPlatformDef` |  | Contains routines and types used in LCL Platform definitions.
`LCLProc` |  | Useful lower-level helper functions and classes.
`LCLResCache` |  | Classes and routines used to cache interface resources.
`LCLStrConsts` |  | Contains resource strings used in the LCL.
`LCLTranslator` |  | Performs string translation in the Lazarus IDE and LCL.
`LCLType` |  | Provides compatibility with the Delphi Windows unit.
`LCLUnicodeData` |  | Container for Unicode, Inc copyrighted data.
`LCLVersion` |  | Contains the version number constants for the LCL.
`LDockTree` |  | This unit defines TLazDockTree, the default TDockTree used in the LCL.
`LMessages` |  | Contains Lazarus message codes and their mapping to message codes for other platforms/widgetsets.
`LResources` |  | Maintains a global list of Lazarus resources, and provides methods and types used to stream components.
`MaskEdit` |  | Defines classes, types, and constants used to implement a masked edit control.
`Menus` |  | Implements menus used in forms created with the Lazarus IDE.
`PairSplitter` |  | Defines the TPairSplitter component.
`PopupNotifier` |  | Contains the TPopupNotifier visual component.
`PostScriptCanvas` |  | Contains classes and types used to implement a PostScript printer canvas.
`PostScriptPrinter` |  | Contains classes and types used to implement a PostScript printer.
`PostScriptUnicode` |  | Contains classes and types used to provide Unicode support in the PostScript printer type.
`Printers` |  | Defines printer output devices for Lazarus applications.
`PropertyStorage` |  | Provides the base class for a storage container use to save and restore control or form properties.
`RegisterLCL` |  | Registers LCL components and packages.
`ReplaceDlgUnit` |  | Contains the form which implements a Replace Dialog.
`RubberBand` |  | Implements TRubberBand used to draw a "rubber-band" selection.
`ShellCtrls` |  | Contains controls which display files and directories.
`Spin` |  | This unit contains classes for spin edit controls.
`StdActns` |  | Defines standard actions used in Action Lists in the LCL.
`StdCtrls` |  | Standard controls used in the Lazarus Component Library (LCL).
`TaskDlgEmulation` |  | Implements an emulated task dialog for platforms where the Task Dialog API is not supported.
`Themes` |  | Implements Theme Services for supported platforms / widgetsets.
`TimePopup` |  | Contains forms, types, and routines used to display a pop-up for TTimeEdit.
`TmSchema` |  | Contains types and constants used for theme elements and details in theme services.
`Toolwin` |  | Implements a control which can paint its client area with optional borders.
`UTrace` |  | Defines an assertion error handler used for tracebacks in the debugger.
`ValEdit` |  | Implements the TValueListEditor grid control.
`WSControls` |  | Contains the base interface classes for widgetset controls.
`WSReferences` |  | Contains types used to represent references to widget set classes and their handles.
`XMLPropStorage` |  | Contains a component that stores Form Session Properties in XML format.

## Description

The Lazarus Component Library (LCL) is a set of visual components to create GUI applications.

License Information

Documentation for LCL (Lazarus Component Library) and LazUtils (Lazarus Utilities) are published under the Creative Commons Attribution-ShareAlike 4.0 International public license, as described in docs/license.txt.

Details about the Creative Commons Attribution-ShareAlike 4.0 International public license is available both locally and online:

    https://gitlab.com/freepascal.org/lazarus/lazarus/-/blob/main/docs/cc-by-sa-4-0.txt
    https://creativecommons.org/licenses/by-sa/4.0/legalcode.txt
    https://wiki.lazarus.freepascal.org/licensing

Copyright (c) 1997-2025, by the Lazarus Development Team.