Dans l'environnement de développement Lazarus (utilisant le langage Pascal et la bibliothèque LCL), les classes TControl, TWinControl et TCustomControl sont des éléments de base pour la création d'interfaces graphiques. Elles héritent les unes des autres et permettent de gérer des composants visuels.
TCustomControl = class(TWinControl) TWinControl = class(TControl) TControl = class(TLCLComponent)
TControl est la classe de base pour tous les contrôles visuels dans Lazarus. Elle fournit les fonctionnalités de base pour afficher un composant à l'écran et interagir avec les événements utilisateur (comme les clics de souris ou les pressions sur les touches).
Caractéristiques
Left, Top), Taille (Width, Height), visibilité (Visible), couleur de fond (Color), etc.OnClick, OnMouseMove, OnKeyDown, etc.TControl ne dessine pas son contenu lui-même. Cette classe est plutôt utilisée pour encapsuler les propriétés et comportements généraux des composants.TControl ne peut pas contenir d'autres contrôles visuels.
TWinControl est une classe qui hérite de TControl et qui ajoute des capacités pour gérer les contrôles ayant une “fenêtre” Windows (c'est-à-dire une handle de fenêtre).
Cela signifie qu'elle peut recevoir des messages Windows directement et servir de conteneur pour d'autres contrôles.
Caractéristiques
TCustomControl hérite de TWinControl et est conçu pour servir de base à la création de contrôles personnalisés. Contrairement à TWinControl, TCustomControl est une classe qui expose le processus de dessin pour que les développeurs puissent définir la manière dont le contrôle se dessine à l'écran.
Caractéristiques
| Caractéristique | TControl | TWinControl | TCustomControl |
|---|---|---|---|
| Classe de base | Oui | Non | Non |
| Dessin personnalisé | Non | Non | Oui |
| Conteneur de contrôles | Non | Oui | Oui |
| Gestion du focus | Non | Oui | Oui |
| Gestion des messages Windows | Non | Oui | Oui |
Ces classes sont souvent utilisées ensemble dans Lazarus pour créer des applications GUI riches et personnalisées.