Bouton stylé

Soyez le premier à donner votre avis sur cette source.

Vue 7 437 fois - Téléchargée 1 229 fois

Description

Voici un composant pret à l'emploie.
C'est un bouton en dégradé dont on peut paramétrer l'apparence.
- les couleurs
- le texte

Pour cette source, je me base (pour ne pas dire une honteuse copie ^^)
sur le travaille de ... arf je n'arrive pas a retrouvé la source d'origine. Le père reconnaitra son fils ^^ .

Le composant en question se nomme sBouton (le nom d'origine était StyleBouton il me semble)

Ses propriétés sont assez simple et ne nécéssitent pas d'explication je pense, sauf le AutoValue.

Le composant possède deux états : Value = { True / False }
Si la valeur est True alors ce sont les couleurs On qui sont affichées,
si la valeur est False alors ce sont les couleurs Off qui sont affichés.
Si on met Enable et AutoValue à Vrai alors Value est modifié en fonction de la position de la souris.
Souris sur le composant --> Value = True
Souris hors du composant --> Value = False

Si Enable ou AutoValue valent False, alors l'utilisateur pourra piloter l'etat.

Source / Exemple :


Regardez dans le zip, c'est un peu la bazard dans le code mais bon,

Conclusion :


Premierement, il faut savoir que plus le bouton est grand plus l'affichage est lent. Ce qui fait que le changement de couleur lors du passage de la souris sur le bouton est moins réactif.

remarque : On peut utiliser ce composant comme ampoule (carrée ^^) en ne mettant pas de texte.

Il me reste a trouver :
Ce qui m'embête avec ce composant c'est l'emploie du timer pour trouver si la souris est sur le composant. Et cela sur deux aspects :

. Le premier est que il y aurra autant de timer que de bouton. Si la propriété Enable et AutoValue de tous les composants sont à Vrai, alors ca va prendre des ressources alors qu'un seul timer avec une boucle for ferrait aussi bien le bouleau avec momins de ressources ...
Si quelqu'un connait le moyen de lier les objets à une classe qui ferrait ce bouleau, qu'il me le dise ^^

. Le second est que lorsque le projet est en mode codage (pas en run), le timer fonctionne quand même. l'avantage c'est qu'on peut ainsi voir le fonctionnement du composant en directe. L'inconvénient, c'est que ca fait bugguer l'environement. Les carrés de saisie disparraissent, le menu d'autocompletion s'efface ...
Je cherche un moyen de faire en sorte que les composants qui sont en AutoValue ne fonctionnent que quand le programme est lancé.

Voila, toute remarque, critique ou conseil sont les bienvenus.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Adn56
Messages postés
1220
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
28 septembre 2013
1 -
salut, je ne peux pas tester ton code car pas d'ocx compilé.
Pour ton soucis de timer, tu ne peux pas utiliser plutôt les attributs hérité de la class bouton ?
Tu pourrais utiliser alors les évenements classiques, on mouse, mouse leave, got focus, etc.. ???
Cela serait plus simple non, que de réinventer la poudre ?
En .net c'est un jeu d'enfant, en vb6 j'en sais rien.
kén.
Flocreate
Messages postés
307
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
27 mai 2012
3 -
salut,
premierement c'est du VB6, ce qui devrait répondre a pas mal de questions d'incompatibilités ^^

j'utilise déja pour les click, dblclick mouse on ...
je propage ceux recus par la picture box.

Le timer sert a savoir si la souris est au dessus du control ou non. En effet il est aisé de savoir si la souris est audessus quand il y a un mouse move.
En revanche impossible de savoir si la souris quite le control.
En effet, que la souris quite le control ou qu'elle s'arrete dessus, on ne peux pas voir la différence.

en ce qui concerne reinventer la poudre, bien ^^ j'adore ca ^^
Adn56
Messages postés
1220
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
28 septembre 2013
1 -
humm pour le vb6 j'avais compris ^^
Mais j'ai peur que ton ocx ne soit trop gourmand en ressource si ya plusieurs bouton sur une même form. je me trompe peu être ?
Pour les évenements dont je te parle je suis presque certain qu'ils sont accessibles en VB6 tout comme en VB.NET, attendons les pros pour plus d'infos
Sinon ben, bon courage....et amuse toi bien.
cordialement
mimiZanzan
Messages postés
309
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
17 décembre 2017
-
Salut,
Ton code devrait être intéressant, mais je n'arrive pas à le charger.
Il doit manquer un composant ou un contrôle.
Merci de rectifier
Flocreate
Messages postés
307
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
27 mai 2012
3 -
peux tu poster le log de chargement ?
normalement, je ne dépends d'aucune dépendance.

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.