Ce qui fait l'intérêt de ce composant est l'évènement OnPulse.
Le rythme de OnPulse est progressif. Lent au départ, il s'accélère progressivement pour atteindre sa valeur maximale.
OnPulse est déclenché par OnMouseDown, et stoppé par OnMouseUp.
Une utilisation évidente de TPulseButton est l'incrémentation/décrémentation d'une valeur par l'utilisateur en phase d'exécution.
TPulseButton hérite de TSpeedButton.
Ce n'est pas tout à fait mon premier composant, bien que je sois assez néophyte en la matière, mais c'est le premier que je publie car il me semble offrir un intérêt ailleurs que dans mes bouts de programmes.
Bien qu'il soit très simple, je me suis efforcé de l'aborder avec rigueur.
Et je lui trouve une certaine utilité : je commence personnellement à en coller partout, lol.
Je peaufinerai peut-être les valeurs concernant le rythme, mais il me semble qu'elles sont plutôt satisfaisantes.
Vous pouvez tester ce composant sans l'installer, avec le programme de démonstration.
Si vous l'installez, vous trouverez un fichier .dcr pour l'icône.
N'hésitez pas à critiquer, je poste un peu pour ça...
Modifications du 30 octobre 2006 :
- déclaré RYTHM_MAX en constante (merci à Delphiprog)
- "FRythm := FRythm + 1" modifié vers => "Inc(FRythm)" (merci à f0xi)
- débloqué l'utilisation de OnMouseDown et OnMouseUp (merci à Loda)
J'ai également modifié la position de inherited dans OnMouseDown et OnMouseUp,
ça me semble finalement plus logique, mais ça se discute.
Merci à Caribensila, Cirec et JulioDelphi pour leurs commentaires et
encouragements.
Merci à l'eau du robinet.