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
12
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
10
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
12
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
10
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
12
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
10
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
10
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
10
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
12
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
10
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
12
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
10
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
12
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
10
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
2
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
12
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
10
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