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

# TIcon

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements an icon image type; small images typically associated with applications, controls, etc.

## Declaration

Source position: graphics.pp line 1680

`type TIcon = class(TCustomIcon)`
`protected`
`class function GetStreamSignature; override;` |  | Gets the stream signature used for icon data.
`class function GetTypeID; override;` |  | Gets the icon type identifier used in the image list header.
`procedure HandleNeeded; override;` |  | Ensures that handle values for the icon are valid.
`public`
`procedure LoadFromResourceHandle(); override;` |  | Loads icon data from the specified instance and resource handles.
`function ReleaseHandle;` |  | Frees the Handle used for the shared image in the Icon.
`function GetResourceType; override;` |  | Gets the Integer Resource Type for the class instance.
`property Handle: HICON; [rw]` |  | Handle used to access the image data for the icon.
`end;`

## Inheritance

`TIcon` |  | Implements an icon image type; small images typically associated with applications, controls, etc.
`TCustomIcon` |  | TCustomIcon - base class for TIcon.
`TRasterImage` |  | TRasterImage - base class for a number of graphic controls, including TCustomBitmap and TCustomIcon, which use a raster of dots to display graphic information.
`TGraphic` |  | Abstract base class used for images in supported image formats.
`TPersistent`
?
`TObject`

## Description

Icons can be loaded from .ICO files, or from Lazarus resources. An icon resource typically contains several versions of the same image, in multiple resolutions and color depths.

When loading, the largest/most colorful image is loaded as the Bitmap property, and so can be handled as any other bitmap.

## Errors

Writing to icon files is not (yet) implemented.