Objects, Components, and Controls

From RAD Studio
Jump to: navigation, search

Go Up to Understanding the Component Library Index

The following diagram is a greatly simplified view of the inheritance hierarchy that illustrates the relationship between objects, components, and controls.

A Simplified Hierarchy Diagram

Simplified object hierarchy

Every object (class) inherits from TObject. Objects that can appear in the Form Designer inherit from TPersistent or TComponent. Controls, which appear to the user at run time, inherit from TControl. There are two types of controls, graphic controls, which inherit from TGraphicControl, and windowed controls, which inherit from TWinControl. A control like TCheckBox inherits all the functionality of TObject, TPersistent, TComponent, TControl, and TWinControl, and adds specialized capabilities of its own.

The figure shows several important base classes, which are described in the following table:

Class Description


Signifies the base class and ultimate ancestor of everything in the VCL TObject encapsulates the fundamental behavior common to all VCL objects by introducing methods that perform basic functions such as creating, maintaining, and destroying an instance of an object.


Specifies the base class of all classes that relate to VCL exceptions. Exception provides a consistent interface for error conditions, and enables applications to handle error conditions gracefully.


Specifies the base class for all objects that implement publishable properties. Classes under TPersistent deal with sending data to streams and allow for the assignment of classes.


Specifies the base class for all components. Components can be added to the Tool palette and manipulated at design time. Components can own other components.


Represents the base class for all controls that are visible at run time. TControl is the common ancestor of all visual components and provides standard visual controls like position and cursor. This class also provides events that respond to mouse actions.


Specifies the base class of all controls that can have keyboard focus. Controls under TWinControl are called windowed controls while those under TWidgetControl are called widgets.

See Also