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

# TCustomActionList

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

TCustomActionList - the ancestor class for TActionList

## Declaration

Source position: actnlist.pas line 83

`type TCustomActionList = class(TLCLComponent)`
`protected`
`procedure AddAction(); virtual;` |  | AddAction - adds an action to the list
`procedure RemoveAction(); virtual;` |  | RemoveAction - removes an action from the list
`procedure Change; virtual;` |  | Change the action
`procedure GetChildren(); override;` |  |
`procedure Notification(); override;` |  |
`procedure SetChildOrder(); override;` |  |
`procedure SetImages(); virtual;` |  | SetImages - stores a list of images
`property OnChange: TNotifyEvent; [rw]` |  | OnChange - event handler for a change in the action
`property OnExecute: TActionEvent; [rw]` |  | OnExecute - event handler for execution of the action
`property OnUpdate: TActionEvent; [rw]` |  | OnUpdate - event handler for updating the action
`public`
`constructor Create(); override;` |  | Create - constructor for TCustomActionList: calls inherited Create then initialises some local variables
`destructor Destroy; override;` |  | Destroy - destructor for TCustomActionList: frees various links then calls inherited Destroy
`function ActionByName();` |  | Returns an action identified by its name (as a string)
`function ExecuteAction(); override;`
`function GetEnumerator;`
`function IndexOfName();` |  | The Index value of the name of this action in the ActionList
`function IsShortCut();` |  | This action is associated with a shortcut
`function UpdateAction(); override;`
`property Actions: TContainedAction; default; [rw]` |  | The indexed list of actions
`property ActionCount: Integer; [r]` |  | The total number of actions in the actionlist
`property Images: TCustomImageList; [rw]` |  | The Images from an ImageList to be associated with the actions, eg in a Menu display
`property State: TActionListState; [rw]` |  | State of the action : Normal, Suspended or SuspendedEnabled
`end;`

## Inheritance

`TCustomActionList` |  | TCustomActionList - the ancestor class for TActionList
`TLCLComponent` |  | TLCLComponent - base class for LCL components
`TComponent,IUnknown,IInterfaceComponentReference`
`TPersistent`
`TObject`

## Description

TCustomActionList - the ancestor class for TActionList. If you want to define your own action list class, you should derive it from this class.

TActionList, TAction, TActionLink and TContainedAction are used to centralize the implementation of user commands, and can then be linked to the appropriate button, menu or another component. This is an Object-Oriented programming strategy to reuse the code, as opposed to the Event-Oriented approach of writing an OnClick event for each component.

## See also

TActionList |  | TActionList - The basic actions list class

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