[Overview][Classes][Index] | Reference for unit 'LCLClasses' (#lcl)

# TLCLReferenceComponent

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

Base class for all components having a handle.

## Declaration

Source position: lclclasses.pp line 59

`type TLCLReferenceComponent = class(TLCLComponent)`
`protected`
`procedure CreateParams(); virtual;` |  | CreateParams - create parameters
`procedure DestroyReference;` |  | DestroyReference - destroys the reference if it has been allocated and adjusts the pointers
`function GetReferenceHandle; virtual; abstract;` |  | GetReferenceHandle - returns the Handle for this reference
`procedure ReferenceCreated; virtual;` |  | ReferenceCreated - gets called after the Handle is created
`procedure ReferenceDestroying; virtual;` |  | ReferenceDestroying - the reference is being destroyed; gets called before the Handle is destroyed
`procedure ReferenceNeeded;` |  | If ReferenceNeeded and not yet allocated, creates a reference using the correct widgetset and parameters
`function WSCreateReference(); virtual;` |  | WSCreateReference - returns a widget set reference
`procedure WSDestroyReference; virtual;` |  | WSDestroyReference - destroys widget set reference
`public`
`destructor Destroy; override;` |  | Destroys the Reference, prior to calling the inherited destructor.
`property Handle: TLCLIntfHandle; [r]` |  | Get the Handle of this component.
`property HandleAllocated: Boolean; [r]` |  | HandleAllocated - if True, a handle (reference) has been allocated to this component
`property ReferenceAllocated: Boolean; [r]` |  | ReferenceAllocated - if True, a handle (reference) has been allocated to this component
`end;`

## Inheritance

`TLCLReferenceComponent` |  | Base class for all components having a handle.
`TLCLComponent` |  | TLCLComponent - base class for LCL components
`TComponent,IUnknown,IInterfaceComponentReference`
`TPersistent`
`TObject`

## Description

Apart from the OS/window manager specific window Handle, LCL components can include a Reference to an widgetset specific object. Application use is restricted to sending messages to a windowed control, using its window Handle.

The latest version of this document can be found at lazarus-ccr.sourceforge.net.