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

# TLCLReferenceComponent

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

TLCLReferenceComponent - A base class for all components having a handle

## Declaration

Source position: lclclasses.pp line 60

`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;` |  | Destroy the reference, then perform inherited Destroy
`property Handle: TLCLIntfHandle; [r]` |  | Handle a handle (sort of pointer or reference) allocated by the operating system to 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` |  | TLCLReferenceComponent - A base class for all components having a handle
`TLCLComponent` |  | TLCLComponent - base class for LCL components
`TComponent`
`TObject`

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