Image sur bouton (API win32)

Résolu
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 - 17 juil. 2004 à 22:07
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013 - 18 juil. 2004 à 12:23
Bonjour a tous,
voila j'essaie de mettre une image sur un bouton de mon dialog, je procede donc comme ceci:

HANDLE hImage;
...
hImage = LoadImage(hInst, "IDB_Image", IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION);
...
SendMessage(GetDlgItem(hWnd, IDC_BOUTON), BM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)(HANDLE)hPierre);
...


seulement le bouton n'affiche pas l'image et je ne sais pas pourquoi...
Merci par avance...
Bob...

"La chance accorde ses faveur aux esprits avertis..."

21 réponses

DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
17 juil. 2004 à 23:11
Corrige ce que t'as mis avec ca:

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

Le reste de ton code reste intacte sans oublier de spécifié le style du bouton comme te l'a dis vecchio56.

Shell
3
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
17 juil. 2004 à 23:33
3
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
17 juil. 2004 à 22:29
T'as pas oublié le style BS_BITMAP??
Et puis vérifie que hPierre (ou hImage je sais pas) est valide
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
17 juil. 2004 à 22:32
il se met ou le BS_BITMAP?
Bob...

"La chance accorde ses faveur aux esprits avertis..."
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
17 juil. 2004 à 22:35
SetWindowLongPtr avec nIndex = GWL_STYLE
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
17 juil. 2004 à 22:38
oula je suis pas sur de bien comprendre la !!!
mon code est bon en haut? (a part le nom des handle qui ne correspond pas -> ce qui n'est pas la cause du mauvais fonctionnement de mon programme !!!)
Bob...

"La chance accorde ses faveur aux esprits avertis..."
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
17 juil. 2004 à 22:41
Bah je pense que oui, mais il faut que tu rajoute le style BS_BITMAP à ton boutton.
Plutot que SetWindowLong, tu peux lui envoyer BM_SETSTYLE
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
17 juil. 2004 à 22:47
bah en fait je l'ai fait directement dans l'editeur de ressource... mais ca ne marche quand meme pas !!!
Bob...

"La chance accorde ses faveur aux esprits avertis..."
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
17 juil. 2004 à 23:16
ok, impecable maintenant ca marche... tu pourrais pas rajouter une petit explication a ce MAKEINTRESOURCE stp !!! :)
Bob...

"La chance accorde ses faveur aux esprits avertis..."
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
17 juil. 2004 à 23:38
oui c'est dommage que je n'ai pas tout le temps ce reflexe... sinon merci a toi DeAthCrAsh !!! et bonne prog !!!
Merci a toi aussi Vecchio :)
Bob...

"La chance accorde ses faveur aux esprits avertis..."
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
17 juil. 2004 à 23:39
C'est quand même bizarre de ne pas avoir ce réflexe. Moi quand je code je suis 50% du temps dans la MSDN
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
17 juil. 2004 à 23:42
bah ouais moi aussi... pour regarder comment mettre l'image dans le bouton, j'ai matter la MSDN, mais pour MAKEINTRESOURCE, a la place de regarder dans la MSDN, ce qui aurrait été plus rapide que attendre une reponse, bah j'ai demandé sur le forum !!!
mais quand je prog, moi aussi je passe beaucoup de temps dans la MSDN, malgres que au debut je ne me fesait pas, mais c'est une tres bonne habitude a prendre !!!
Bob...

"La chance accorde ses faveur aux esprits avertis..."
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
17 juil. 2004 à 23:48
Je pense qu'on peut raisonnablement rempacer MAKEINTRESOURCE(i) par (LPCTSTR)i, en tous cas c'est ce que je fais tout le temps
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
17 juil. 2004 à 23:50
la difference doit etre minim entre les deux, quelle est-elle?
Bob...

"La chance accorde ses faveur aux esprits avertis..."
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
17 juil. 2004 à 23:52
Yen a un qui est plus court à taper déja
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
17 juil. 2004 à 23:53
lol
Bob...

"La chance accorde ses faveur aux esprits avertis..."
0
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
18 juil. 2004 à 00:04
#define MAKEINTRESOURCE (i) (LPSTR)((ULONG_PTR)((WORD)(i)))

typedef const TCHAR *LPCTSTR;
typedef wchar_t TCHAR;

au vu de ces define, jpense mm ke c mieu d'utiliser le (LPCTSTR) (moins de cast), enfin si kelkun peut confirmer...

je viens de m'apercevoir kil ya un bordel ds les header de chez crosoft !!
0
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
18 juil. 2004 à 11:24
LordBob> Tu pourras mettre un ptit bout de code simple pour montrer comment afficher une image sur un bouton. Ca fera un bon exemple de source.

Shell
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
18 juil. 2004 à 11:29
Ya surement déja ca quelque part sur le site, notamment sur le forum
0
cs_LordBob Messages postés 2865 Date d'inscription samedi 2 novembre 2002 Statut Membre Dernière intervention 11 mai 2009 9
18 juil. 2004 à 11:47
je viens d'ajouter la source...
http://www.cppfrance.com/code.aspx?ID=24669
Bob...

"La chance accorde ses faveur aux esprits avertis..."
0
Rejoignez-nous