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.