Checkgroupbox : groupbox avec checkbox, pushbuton ou panel au choix dans le caption

Description

C'est la première source que je poste et cela mérite une petite explication.
Ancien développeur je n'ai plus bidouillé du code depuis plusieurs années (changement d'orientation professionnelle). Le virus de la programmation m'a tellement démangé que j'ai choisi Delphi 2005 pour m'y remettre et le site de DelphiFR m'a été très utile pour développer quelques petites applications pour mon travail. Un grand merci à tous les intervenants sur ce site qui m'ont facilité la tâche.

Ce source est aussi mon premier composant dont l'idée m'est venue à la suite de la découverte du composant fshEnabGrp.pas qui est accessible par le lien http://www.delphi-central.com/components/enable_group.aspx

Source / Exemple :


{
==============================================================================
|
|  Composant NB_GroupBox
|
|  Version : 1.0     Date : 05 août 2006
|
|  Description : Composant descendant de "TGroupBox" avec des propriétés
|                étendues décrites ci-dessous.
|
|  Liste des nouvelles propriétés:
|
|     Groupe "Action" :
|       - Enabled         : Code en provenance du composant fshEnabGrp.pas
|                           "Override" de la propriété existante qui permet de
|                           définir la propriété "Enabled" de tous les composants
|                           du groupe en accord avec la propriété "Enabled" du
|                           "GroupBox". Les "CaptionStyle" fcsButton et fcsPanel
|                           sont aussi affectés.
|
|     Groupe "Divers" :
|       - AffectLabels    : Permet de définir si les labels appartenant au
|                           "GroupBox" sont concernés par la propriété "Enabled".
|       - CaptionAlignment: Définit seulement si le caption est de taille normale
|                           et aligné à gauche ou s'il prend la largeur du GroupBox
|       - CaptionCheckBox : Détermine la présence ou non du "CheckBox" sur la
|                           gauche du "Caption". Un click sur le "CheckBox"
|                           agit sur la propriété "Enabled"
|       - CaptionStyle    : > La valeur fcsButton provoque l'affichage d'un bouton
|                           à la place du "Caption". L'utilisation de ce bouton
|                           permet de réduire la hauteur du "GroupBox" pour
|                           cacher ses composants et de l'ouvrir ensuite. Le
|                           click sur le bouton agit sur la propriété "Collapsed"
|                           Ce bouton supporte une image d'une auteur de 12 pixels
|                           Deux images pour les 2 états sont définies par défaut
|                           mais peuvent être changées par les propriétés
|                           "GlyphCollapsed" et "GlyphExpanded".
|                           > La valeur fcsPanel provoque l'affichage d'un "Panel"
|                           à la place du "Caption". Il est possible de modifier
|                           la couleur de ce panneau et la couleur de son texte
|                           avec ls propriétés "ColorPanel" et "ColorTextPanel".
|                           > La valeur fcsNone remet l'affichage du "Caption"
|                           dans l'état standard du composant de base.
|       - FullHeight      : Détermine la hauteur du GroupBox ouvert
|       - Collapsed       : Détermine la réduction et l'expansion du "GroupBox".
|                           Si le "CaptionStyle" est fcsButton, le click sur le
|
|     Groupe "Visuel" :
|       - ColorPanel      : Défini la couleur de fond du "Panel"
|       - ColorTextPanel  : Défini la couleur du texte du "Panel"
|       - GlyphCollapsed  : Défini l'image pour le bouton pour l'état réduit
|       - GlyphExpandaed  : Défini l'image pour le bouton pour l'état ouvert
|
==============================================================================
}

Conclusion :


Je suis preneur de toutes les remarques sur les erreurs ou améliorations du code. Merci d'avance.

Désolé pour l'affichage bizarre de l'explication des propriétés mais l'affichage ne correspond pas à ce que j'ai édité dans "Votre code" sur le site.

Codes Sources

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.