Branche TComponent

De RAD Studio
Aller à : navigation, rechercher

Remonter à Objets, composants et contrôles


La branche TComponent contient des classes qui dérivent de TComponent mais pas de TControl. Les objets de cette branche sont des composants que vous pouvez manipuler sur des fiches lors de la conception mais qui ne sont pas visibles par l'utilisateur à l'exécution. Ce sont des objets persistants aux capacités suivantes :

  • Ils apparaissent dans la palette d'outils et peuvent être modifiés dans la fiche.
  • Ils peuvent posséder et gérer d'autres composants.
  • Ils se chargent et s'enregistrent eux-mêmes.

Plusieurs méthodes introduites par TComponent dictent la façon dont les composants agissent durant la conception et quelles sont les informations qui sont enregistrées avec eux. La gestion des flux (l'enregistrement et le chargement de fichiers fiche, qui stockent des informations sur les valeurs des propriétés des objets d'une fiche) est introduite dans cette branche. Les propriétés sont persistantes si elles sont publiées, et les propriétés publiées sont automatiquement mises en flux.

La branche TComponent introduit également le concept de possession qui est propagé sur l'ensemble de la bibliothèque de composants. Deux propriétés prennent en charge la possession : Owner et Components. Chaque composant dispose d'une propriété Owner qui référence un autre composant comme son propriétaire. Un composant peut posséder d'autres composants. Dans ce cas, tous les composants possédés sont référencés dans la propriété Components du composant.

Le constructeur de chaque composant accepte un paramètre qui spécifie le propriétaire du nouveau composant. Si le propriétaire transmis existe, le nouveau composant est ajouté à la liste des composants du propriétaire. Outre la liste des composants qui permet de référencer les composants possédés, cette propriété est aussi utilisée pour la destruction automatique des composants possédés. Si un composant a un propriétaire, il est détruit lorsque son propriétaire est détruit. Par exemple, comme TForm est un descendant de TComponent, tous les composants possédés par une fiche sont détruits et leur emplacement en mémoire est libéré lorsque la fiche est détruite. (En supposant, bien sûr, que les composants aient correctement conçu des destructeurs qui les nettoient correctement.)

Si un type de propriété est un TComponent ou l'un de ses descendants, le système de flux crée une instance de ce type lorsqu'il le lit. Si un type de propriété est TPersistent mais pas TComponent, le système de flux utilise l'instance existante, accessible via la propriété, et lit les valeurs des propriétés de cette instance.


Certaines classes dans la branche TComponent incluent :

  • TActionList, une classe qui gère une liste d'actions utilisées par des composants et des contrôles, comme les éléments de menu et les boutons.
  • TMainMenu, une classe qui fournit une barre de menus et les menus déroulants associés dans une fiche.
  • TOpenDialog,TSaveDialog, TFontDialog, TFindDialog, TColorDialog, etc., sont des classes qui fournissent des boîtes de dialogue fréquemment utilisées.
  • TScreen, une classe qui mémorise les fiches et les modules de données instanciés par l'application, la fiche active et le contrôle actif dans cette fiche, la taille et la résolution de l'écran, ainsi que les curseurs et les fontes utilisables par l'application.

Les composants qui n'ont pas besoin d'interface visuelle peuvent être directement dérivés de TComponent. Pour fabriquer un outil tel qu'un périphérique TTimer, vous devez le dériver de TComponent. Ce type de composant se trouve sur la palette d'outils, mais exécute des fonctions internes accessibles par le code (elles n'apparaissent pas dans l'interface utilisateur à l'exécution).

Voir Utilisation des composants pour des informations sur la définition des propriétés, l'appel des méthodes et l'utilisation des événements pour des composants.

Voir aussi