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

# Reference for unit 'LCLIntf'

Contains WinAPI-like functions for Delphi compatibility.

`uses`
`Math,`
`Classes,`
`SysUtils,`
`Types,`
`LCLType,` |  | Provides compatibility with the Delphi Windows unit.
`LMessages,` |  | Contains Lazarus message codes and their mapping to message codes for other platforms/widgetsets.
`LCLStrConsts,` |  | Contains resource strings used in the LCL.
`InterfaceBase,` |  | Provides a platform-independent widgetset class and helper functions.
`GraphType,`
`GraphMath,`
`FileUtil,`
`LazFileUtils,`
`UTF8Process,`
`LazUTF8,`
`LazSysUtils,`
`LazLoggerBase,`
`Maps;`

## Overview

This unit was created for Delphi compatibility. It contains selected functions from the Delphi Windows unit, which finally are implemented in the widgetsets.

For LCL users:

The functions can be used to make porting of Delphi applications easier, and are not 100% emulating WinAPI functions, not even under windows. They were implemented and tested with some common Delphi libraries. The LCL contains many extra functions that the Delphi VCL does not have.

Remark: | Some functions are not exactly Delphi or WinAPI compatible.

For example: Instead of using the common Windows functions SaveDC and RestoreDC use the Canvas.SaveHandleState and Canvas.RestoreHandleState.