LCL
Lazarus Component Library: forms, controls, graphics and the widget sets behind them.
Index A to Z · Class hierarchy
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.
Units
| Unit | What it holds | Entries | Described |
|---|---|---|---|
| ActnList | Defines classes for Actions and lists of Actions for use in LCL components. | 150 | 99% |
| alllclunits | Includes all of the LCL units and registers their components in the Lazarus IDE. | 1 | 100% |
| Arrow | Defines an Arrow symbol widely used in forms. | 61 | 84% |
| AsyncProcess | Implements a process with asynchronous event notifications. | 13 | 100% |
| ButtonPanel | Provides a panel with buttons using glyph images. | 95 | 97% |
| Buttons | Contains types and classes used to implement specialized buttons. | 325 | 97% |
| CalcForm | Contains classes and types used in TCalculatorForm. | 63 | 97% |
| Calendar | Classes and types used to implement TCalendar, a graphic control allowing selection of a date from a calendar display. | 99 | 100% |
| CalendarPopup | Implements a pop-up form with a TCalendar control for TDateEdit. | 10 | 100% |
| CheckLst | Classes defining TCheckListBox - a List Box with Check Box items. | 98 | 100% |
| Clipbrd | Definitions for the Clipboard to hold Cut or Copied data for Pasting. | 48 | 100% |
| ColorBox | Defines classes for selecting a color from a combo-box or a list box. | 187 | 100% |
| ComboEx | Contains classes, types, and routines used to implement the TComboBoxEx and TCheckComboBox visual components. | 271 | 100% |
| ComCtrls | Common controls used in Lazarus forms. | 2568 | 97% |
| Controls | Contains types, constants, classes, and routines used to implement visual controls. | 1662 | 97% |
| CustomDrawn_Android | Contains classes used to implement custom-drawn controls using the drawing style for the Android platform. | 13 | 8% |
| CustomDrawn_Common | Contains the common base class for renders in custom-drawn controls. | 57 | 9% |
| CustomDrawn_Mac | Contains classes used to implement custom-drawn controls using the macOS drawing style. | 7 | 14% |
| CustomDrawn_WinXP | Contains classes used to implement custom-drawn controls using the Windows XP drawing style. | 9 | 11% |
| CustomDrawnControls | Contains classes used to implement custom-drawn components or controls. | 485 | 0% |
| CustomDrawnDrawers | Contains classes and routines used to draw custom-drawn controls for various platforms, operating systems, or user-specified styles. | 343 | 0% |
| CustomTimer | Contains the definition of the base class for TTimer. | 16 | 100% |
| DBActns | Standard actions used to navigate and manipulate a dataset in a datasource. | 47 | 100% |
| DBCtrls | Data-aware controls commonly used for viewing and operating on information held in databases. | 994 | 100% |
| DBExtCtrls | Contains extended database controls. | 19 | 100% |
| DBGrids | Implements a data-aware grid to display and operate on information in a database. | 379 | 100% |
| DBLogDlg | Contains forms and routines used to implement a database login dialog. | 16 | 100% |
| DefaultTranslator | Performs string translations using the language selected for the project. | 1 | 100% |
| DialogRes | Contains types and constants used to access scalable dialog images. | 7 | 100% |
| Dialogs | Contains common dialogs used in Lazarus LCL applications. | 576 | 98% |
| EditBtn | Implements specialized edit controls with attached speed buttons. | 689 | 100% |
| ExtCtrls | Contains extra controls commonly used in Lazarus forms. | 1182 | 99% |
| ExtDlgs | Contains extended dialogs used for Calendar, Calculator and Picture Open/Save tasks. | 99 | 97% |
| ExtGraphics | Types and routines used to implement extended graphic drawing. | 32 | 6% |
| FileCtrl | Implements list box and combo-box controls used to select files on the local file system. | 146 | 99% |
| FindDlgUnit | Contains a form template for the find dialog in LCL. | 15 | 100% |
| Forms | Implements Forms which are the basis for the LCL Graphical User Interface. | 1208 | 99% |
| Graphics | 1041 | 99% | |
| GraphUtil | Contains routines and types used when drawing graphics. | 44 | 68% |
| Grids | Classes for displaying tabular data as a series of rows and columns. | 1296 | 99% |
| GroupedEdit | Provides the base class for grouped edit controls. | 204 | 100% |
| HelpIntfs | Interfaces to define the abstract HelpSystem. | 73 | 41% |
| IcnsTypes | Provides support for Mac OS X icon resources. | 69 | 1% |
| ImageListCache | Implements a caching mechanism for TCustomImageList (TImageList) instances. | 21 | 100% |
| ImgList | Contains classes and types used in TCustomImageList, the base class for TImageList. | 177 | 99% |
| IndustrialBase | Contains the base class for a graphic control with an anti-aliasing setting. | 5 | 100% |
| IniPropStorage | Contains a component that stores Form Session Properties in INI format. | 24 | 100% |
| InterfaceBase | Provides a platform-independent widgetset class and helper functions. | 390 | 83% |
| IntfGraphics | Classes and functions for easy handling of raw images (interface images). | 319 | 16% |
| JSONPropStorage | Contains a component that stores Form Session Properties in JSON format. | 26 | 100% |
| LazCanvas | Classes and functions for extending TFPImageCanvas. | 56 | 100% |
| LazDeviceApis | LCL APIs for accessing hardware sensors (such as Accelerometer, GPS, etc) and integrated elements of the system (such as Calendar, Contacts, etc). | 70 | 83% |
| LazDialogs | Contains classes, types, and routines needed for Lazarus dialogs in custom-drawn and non-desktop environments. | 34 | 91% |
| LazFreeTypeIntfDrawer | LCL interface class for the text renderer in the FreeType package. | 28 | 4% |
| LazHelpHTML | Contains types and classes used to integrate and access help files in HTML format. | 29 | 97% |
| LazHelpIntf | Defines base classes used in the LCL help system. | 242 | 79% |
| LazRegions | Implements non-native regions with support for managing their Z-order. | 53 | 92% |
| LCLClasses | Defines the base class for all LCL TComponents including controls. | 30 | 90% |
| LCLIntf | Contains WinAPI-like functions for Delphi compatibility. | 327 | 65% |
| LCLMessageGlue | Contains routines used to send messages from widgetset classes to the LCL. | 49 | 98% |
| LCLPlatformDef | Contains routines and types used in LCL Platform definitions. | 21 | 33% |
| LCLProc | Useful lower-level helper functions and classes. | 61 | 93% |
| LCLResCache | Classes and routines used to cache interface resources. | 72 | 90% |
| LCLStrConsts | Contains resource strings used in the LCL. | 357 | 0% |
| LCLTranslator | Performs string translation in the Lazarus IDE and LCL. | 14 | 100% |
| LCLType | Provides compatibility with the Delphi Windows unit. | 2089 | 40% |
| LCLUnicodeData | Container for Unicode, Inc copyrighted data. | 17 | 12% |
| LCLVersion | Contains the version number constants for the LCL. | 9 | 78% |
| LDockTree | This unit defines TLazDockTree, the default TDockTree used in the LCL. | 87 | 86% |
| LMessages | Contains Lazarus message codes and their mapping to message codes for other platforms/widgetsets. | 574 | 0% |
| LResources | Maintains a global list of Lazarus resources, and provides methods and types used to stream components. | 232 | 46% |
| MaskEdit | Defines classes, types, and constants used to implement a masked edit control. | 202 | 97% |
| Menus | Implements menus used in forms created with the Lazarus IDE. | 263 | 98% |
| PairSplitter | Defines the TPairSplitter component. | 78 | 100% |
| PopupNotifier | Contains the TPopupNotifier visual component. | 31 | 100% |
| PostScriptCanvas | Contains classes and types used to implement a PostScript printer canvas. | 68 | 1% |
| PostScriptPrinter | Contains classes and types used to implement a PostScript printer. | 77 | 1% |
| PostScriptUnicode | Contains classes and types used to provide Unicode support in the PostScript printer type. | 22 | 5% |
| Printers | Defines printer output devices for Lazarus applications. | 153 | 99% |
| PropertyStorage | Provides the base class for a storage container use to save and restore control or form properties. | 76 | 97% |
| RegisterLCL | Registers LCL components and packages. | 3 | 100% |
| ReplaceDlgUnit | Contains the form which implements a Replace Dialog. | 17 | 100% |
| RubberBand | Implements TRubberBand used to draw a "rubber-band" selection. | 9 | 100% |
| ShellCtrls | Contains controls which display files and directories. | 300 | 96% |
| Spin | This unit contains classes for spin edit controls. | 139 | 100% |
| StdActns | Defines standard actions used in Action Lists in the LCL. | 210 | 100% |
| StdCtrls | Standard controls used in the Lazarus Component Library (LCL). | 1236 | 99% |
| TaskDlgEmulation | Implements an emulated task dialog for platforms where the Task Dialog API is not supported. | 33 | 100% |
| Themes | Implements Theme Services for supported platforms / widgetsets. | 657 | 11% |
| TimePopup | Contains forms, types, and routines used to display a pop-up for TTimeEdit. | 20 | 70% |
| TmSchema | Contains types and constants used for theme elements and details in theme services. | 1568 | 0% |
| Toolwin | Implements a control which can paint its client area with optional borders. | 21 | 100% |
| TreeStorage | Contains utility routines used to save or load the tree nodes in a tree view control using an XML storage format. | 16 | 100% |
| UTrace | Defines an assertion error handler used for tracebacks in the debugger. | 5 | 20% |
| ValEdit | Implements the TValueListEditor grid control. | 218 | 100% |
| WSControls | Contains the base interface classes for widgetset controls. | 71 | 4% |
| WSReferences | Contains types used to represent references to widget set classes and their handles. | 32 | 31% |
| XMLPropStorage | Contains a component that stores Form Session Properties in XML format. | 42 | 100% |
An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.
