Table des matières

TControl, TWinControl et TCustomControl

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.

Héritage
TCustomControl = class(TWinControl)
TWinControl = class(TControl)
TControl = class(TLCLComponent)

TControl

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

TWinControl

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

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

Tableau comparatif

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

En résumé

Ces classes sont souvent utilisées ensemble dans Lazarus pour créer des applications GUI riches et personnalisées.

Sources & Ressources