Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
prog:lazarus:classes:tcontrols:compare_controls [19/08/2024 10:47] thierry [Caractéristiques] |
prog:lazarus:classes:tcontrols:compare_controls [19/08/2024 11:15] (Version actuelle) thierry [TControl] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | 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. | + | ====== TControl, TWinControl et TCustomControl ====== |
+ | |||
+ | Dans l'environnement de développement Lazarus (utilisant le langage Pascal et la bibliothèque LCL), les classes [[prog:lazarus:classes:tcontrols:tcontrol|TControl]], [[prog:lazarus:classes:tcontrols:twincontrol|TWinControl]] et [[prog:lazarus:classes:tcontrols:tcustomcontrol|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. | ||
<code delphi Héritage> | <code delphi Héritage> | ||
Ligne 19: | Ligne 21: | ||
* **Dessin** : ''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. | * **Dessin** : ''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. | ||
* **Aucun support de conteneur** : ''TControl'' ne peut pas contenir d'autres contrôles visuels. | * **Aucun support de conteneur** : ''TControl'' ne peut pas contenir d'autres contrôles visuels. | ||
+ | * [[prog:lazarus:classes:tcontrols:tcontrol_dragdrop|Gestion du Drag & Drop]] | ||
===== TWinControl ===== | ===== TWinControl ===== | ||
Ligne 31: | Ligne 34: | ||
* **Support des fenêtres natives** : Les instances de **TWinControl** sont capables d'interagir avec les API Windows, ce qui est essentiel pour les contrôles complexes. | * **Support des fenêtres natives** : Les instances de **TWinControl** sont capables d'interagir avec les API Windows, ce qui est essentiel pour les contrôles complexes. | ||
- | ===== 3. TCustomControl ===== | + | ===== 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. | ''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éristiques ** |
* **Dessin personnalisé** : **TCustomControl** introduit la méthode **Paint**, que les développeurs peuvent surcharger pour dessiner leur propre contenu à l'intérieur du contrôle. | * **Dessin personnalisé** : **TCustomControl** introduit la méthode **Paint**, que les développeurs peuvent surcharger pour dessiner leur propre contenu à l'intérieur du contrôle. | ||
* **Flexibilité élevée** : En héritant de **TCustomControl**, vous pouvez créer des composants graphiques totalement personnalisés avec des comportements spécifiques. | * **Flexibilité élevée** : En héritant de **TCustomControl**, vous pouvez créer des composants graphiques totalement personnalisés avec des comportements spécifiques. | ||
* **Conteneur de contrôles** : Comme il hérite de **TWinControl**, **TCustomControl** peut également contenir d'autres contrôles visuels. | * **Conteneur de contrôles** : Comme il hérite de **TWinControl**, **TCustomControl** peut également contenir d'autres contrôles visuels. | ||
- | ===== Comparatif Résumé ===== | + | ===== Tableau comparatif ===== |
^ Caractéristique ^ TControl ^ TWinControl ^ TCustomControl ^ | ^ Caractéristique ^ TControl ^ TWinControl ^ TCustomControl ^ | ||
Ligne 49: | Ligne 52: | ||
| Gestion des messages Windows | Non | Oui | Oui | | | Gestion des messages Windows | Non | Oui | Oui | | ||
- | ===== Conclusion ===== | + | ===== En résumé ===== |
* **TControl** est la classe de base pour tous les composants visuels, mais elle ne gère pas le dessin ou les enfants. | * **TControl** est la classe de base pour tous les composants visuels, mais elle ne gère pas le dessin ou les enfants. | ||
* **TWinControl** est utilisée pour les contrôles qui doivent gérer des enfants et interagir directement avec l'API Windows. | * **TWinControl** est utilisée pour les contrôles qui doivent gérer des enfants et interagir directement avec l'API Windows. | ||
Ligne 55: | Ligne 58: | ||
Ces classes sont souvent utilisées ensemble dans Lazarus pour créer des applications GUI riches et personnalisées. | Ces classes sont souvent utilisées ensemble dans Lazarus pour créer des applications GUI riches et personnalisées. | ||
+ | ===== Sources & Ressources ===== | ||
+ | |||