class defines many core elements of components; however, it is not as complex as you might think, because the base classes and the language already provide most of what's needed.
I won't explore all the details of the class, some of which are more important for component designers than they are for component users.
It is called along with the simpler code used to change the parent component; the two commands combined move the button completely to another form, changing its owner: component actually changes, I've added another feature to both forms.
The List button fills the list box with the names of the components each form owns, using the procedure shown in the previous section.
At the same time, you should generally create components with a form or data module owner, even in your code.
In these circumstances you only need to remember to destroy the component containers (form or data module) when they are not needed anymore, and you can forget about the components they contain.
As a final feature, the Every component in Delphi should have a name.
When you use these controls, you can add other components inside them.
In this case, the container is the parent of the components (as indicated by the property, you can always access each component of a form.
This property can be very handy (compared to using a specific component directly) for writing generic code, acting on all or many components at a time.
For example, you can use the following code to add to a list box the names of all a form's components (this code is part of the Change Owner example presented in the next section): In Delphi, some components are also component containers: the Group Box, Panel, Page Control, and, of course, Form components.