[mfc] bouton customisé avec transparence

Soyez le premier à donner votre avis sur cette source.

Vue 11 440 fois - Téléchargée 987 fois

Description

Ce code est juste un petit test qui montre comment utiliser la classe: CustomBouton qui permet de créer ses propres boutons pour ne plus avoir à utiliser les vilains bouton rectangulaires de Visual.
C'est le premier code que je poste alors soyez indulgents avec moi; Je serai ravis d'avoir des commentaires et surtout des conseils pour améliorer le code.
Merci d'avance

Conclusion :


La classe permet de créer des boutons personnalisés avec la forme que vous voulez.
Il suffit pour cela de creer les bitmap des differents états de votre bouton (normal, lorsque la souris est dessus et lorsque l'on clique dessus) et de faire comme dans l'exemple.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

jft2000
Messages postés
1
Date d'inscription
lundi 18 mai 2009
Statut
Membre
Dernière intervention
21 décembre 2009

Salut,

Pour corriger la fuite mémoire, il faut ajouter :

ReleaseDC(pDC);

à la fin de la méthode : void CustomButton::DessinBouton(int itemState)

(Tu avais oublié le ReleaseDC() qui correspond au GetDC())

@++
Hargoth
Messages postés
1
Date d'inscription
vendredi 25 juillet 2008
Statut
Membre
Dernière intervention
5 septembre 2009

y'a une fuite mémoire, si tu fais appel au gestionnaire de tâche, ton process grossi ... sinon c'est cool
Rainox
Messages postés
2
Date d'inscription
dimanche 18 mars 2007
Statut
Membre
Dernière intervention
14 avril 2008

C'est bien mais j'ai voulu l'inclure dans un de mes logiciels mais pas facile à faire.
donc je vais rester avec une interface austère digne des mfc.
ymca2003
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
2 façons plus "propre" de le faire :

1) Simplement avoir un bouton avec le style WS_OWNERDRAW, gerer le WM_DRAWITEM et desiner le bitmppa qui faut en fct de l'état du bouton (press, click géré par le système)

2) subclasser le control et gérer les messages WM_MOUSEMOVE, WM_LBUTTONCLICK et compagnie, dessiner uniquement dans WM_PAINT et demander le dessin par InvalidateRect
nightlord666
Messages postés
746
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
23 mai 2007
6
Eh ben... Ca donnerait presque envie d'utiliser les MFC ta capture...

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.