Image dans bouton ??

yohann2004 Messages postés 36 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 7 août 2007 - 31 janv. 2005 à 19:37
CriPpLe Messages postés 78 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 avril 2005 - 1 févr. 2005 à 19:17
Salut,

Comment peut-on faire pour afficher une image sur un Bouton avec MFC ???



Merci

4 réponses

CriPpLe Messages postés 78 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 avril 2005
31 janv. 2005 à 21:28
Rien de plus facile avec la classe CHoverButton.


Rajoute cette classe à ton projet, sans oublier #include "HoverBouton.h" dans le fichier .h de la classe de votre Dialog dans lequel tu souhaites rajouter les boutons personnalisés.


Le bouton que tu souhaites personnaliser doit être en owner draw, avec class wizzard associez lui une variable de type CButton et avec le nom m_BmpBoutonQuitter par exemple.
Ensuite du te rends dans le fichier .h où la variable CButton m_BmpBoutonQuitter; a été déclarée. remplacez CButton par CHoverButton.


Dans les ressources, rajoute une Bitmap avec comme nom IDB_QUITTER par exemple.
Celle ci contient les 3 états du bouton, sur la gauche le bouton normal, au milieu le bouton appuyé , et enfin sur la droite le bouton lorsque la souris passe dessus.


Rende toi ensuite dans InitDialog(); et rajoute la ligne suivante:
m_BmpBoutonQuitter.LoadBitmap(IDB_QUITTER);


Lors de la compilation tu devraisavoir maintenant un bouton personnalisé, refais cette operation autant de fois que tu veuxpersonnaliser un bouton, sans oublier bien sur de changer le nom des variables et des Bitmaps
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
1 févr. 2005 à 12:34
- Dans les ressources, mettre le style Bitmap au bouton.
- Charger le bitmap avec LoabBitmap ou LoadImage.
- Utiliser la méthode SetBitmap de la classe CButton pour affecter le bitmap.
0
SnOOpss Messages postés 571 Date d'inscription samedi 3 avril 2004 Statut Membre Dernière intervention 5 décembre 2013
1 févr. 2005 à 13:37
case WM_INITDIALOG:



// on recupere le HWND du bouton

hBouton = GetDlgItem(hWnd, IDCANCEL);

// on charge l'image

hImage =
LoadImage(hInst, MAKEINTRESOURCE(IDB_BITMAP), IMAGE_BITMAP, 0, 0,
LR_CREATEDIBSECTION);

// et on l'applique sur le bouton


SendMessage(hBouton, BM_SETIMAGE, (WPARAM)IMAGE_BITMAP,
(LPARAM)(HANDLE)hImage);

return TRUE;

break;



Mais comme le dit ymca2003 tu doit mettre le style bitmap au boutton.

Tu as un exmple complet sur ce site !!!
0
CriPpLe Messages postés 78 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 avril 2005
1 févr. 2005 à 19:17
Pour le poste que j'ai mis, ce qui est de bien c'est que le bouton change d'aspect si on passe la souris dessus ou si on clique dessus :)
0
Rejoignez-nous