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

# Reference for unit 'Themes'

Implements Theme Services for supported platforms / widgetsets.

`uses`
`Classes,`
`SysUtils,`
`Types,`
`Math,`
`LCLType,` |  | Provides compatibility with the Delphi Windows unit.
`Graphics,` |  |
`TmSchema,` |  | Contains types and constants used for theme elements and details in theme services.
`GraphType;`

## Overview

themes.pas contains an implementation of TThemeServices which is a designed to manage all necessary aspects of the Windows XP (and up) theme APIs. The component is responsible for loading and unloading of the theme DLL and offers properties and methods to test for various aspects of the theme APIs and to ease painting of themed window content.

The TThemeServices class is designed to work for controls which need XP-like painting. It does not manipulate any VCL class (for this task TThemeManager is responsible) and can be used standalone (also as general support tool in an application). Using the global ThemeServices function you can implicitly create and use a single instance of the class. Theme Manager uses the same approach.

The original file name ThemeSrv.pas was changed to themes.pas to be compatible with Delphi. Adapted for Lazarus by the Lazarus Team.

The initial developer of the original code is: Mike Lischke (public@soft-gems.net, www.soft-gems.net).