Controle perso (*.ctl) --> progressbar stylée xp très personnalisable

Description

Il existe déjà plusieurs sources de ce genre, mais le nombre de propriétés de ce controle est assez (plus) important.

Il existe de plus une fonction particulière (qui est d'ailleurs le but premier de ce contrôle) : il s'agit de pouvoir changer (si l'on veut) la valeur du ProgressBar par survol de la souris (et, si désiré, clic d'un des boutons de la souris). Rien de très méchant, mais c'est toujours intéressant de l'avoir.

Fonction intéressante : possibilité de mettre une image de fond et/ou une image qui se stretche avec la progressbar (voir capture pour comprendre).

Gestion de valeurs DECIMALES (Double), mais il faut donner les chiffres décimaux avec une VIRGULE et non un point DANS LA BOITE DE PROPRIETES du contrôle (mais un point normal si vous changez les valeurs dans le code).

C'est encore en construction, mais les propriétés suivantes sont déjà terminées et opérationnelles :
'-Min --> valeur minimale (double)
'-Max --> valeur maximale (double)
'-Value --> valeur active (double)
'-InteractiveControl --> activer ou non la gestion de la valeur lors d'un mousemove
'de la souris sur le contrôle (boolean)
'-ShowLabel --> type d'affichage du label. No=rien, PercentageMode=pourcentage
'et ValueMode=valeur active
'-RightColor --> couleur de droite du dégradé de la barre de valeur (long)
'-LeftColor --> couleur de gauche du dégradé de la barre de valeur (long)
'-BackColorBottom --> couleur du bas du dégradé du fond de contrôle (long)
'-BackColorTop --> couleur du haut du dégradé du fond de contrôle (long)
'-Fonte --> choix de la fonte (stdFont)
'-Degrade --> type de dégradé de la barre de valeur. AllLengh=dégradé avec
'bord droit de couleur RightColor pour value=max. OnlyValue=dégradé avec
'bord droit de couleur RightColor pour toutes les values.
'-InteractiveButton --> bouton gérant l'interaction
'NoButton=MouseMove uniquement, les autres boutons correspondent aux boutons
'de la souris.
'-RoundColor --> afficher le contour du controle (boolean)
'-RoundColorValue --> couleur du contour du contrôle (long)
'-LabelColor --> couleur du texte à afficher (long)
'-LabelDecimals --> nombre de décimales à afficher pour le pourcentage
'-BorderStyle --> style d'affichage (3D ou non)
'-Alignement --> position du label dans le control
'-OffSetX --> valeur de décalage horizontal du caption en PIXEL (long)
'-OffSetY --> valeur de décalage vertical du caption en PIXEL (long)
'les offsets positifs décalent vers le bas et le haut
'-BackPicture --> définit la picture affichée en fond de contrôle
'-FrontPicture --> définit la picture affichée en tant que barre de progression

Le contrôle gère les évênements suivants :
'-MouseMove
'-MouseDown
'-MouseUp
'-KeyDown
'-KeyUp
'-Click
'-DoubleClick
'-Change
'-KeyPress
'-InteractionComplete
'-ValueIsMax
'-ValueIsMin

Prévu de faire :
'-choix de l'orientation gauche/droite/haut/bas de la barre de valeur
'-ajout d'une form de configuration
'-ajout d'une liste de valeurs (par l'utilisateur) créant un évênement

Note : l'OCX est FOURNI dans le *.zip

Source / Exemple :


'Dans le *.zip

Conclusion :


Commentaires, critiques construites, encouragements, remarques, questions....etc sont les bienvenus ;)

De même, si vous avez des idées pour améliorer et rendre plus complet ce projet, n'hésitez pas !

@+ et merci.

Codes Sources

A voir également

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.