Probleme d'image sur un bouton

Signaler
Messages postés
264
Date d'inscription
mercredi 16 avril 2003
Statut
Membre
Dernière intervention
23 mars 2012
-
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
-
Bonjour,
j'ai trouver un bout de code qui me permet de mettre une image (bmp) sur le bouton. le probleme c'est que je ne sais pas dans quel class et fonc tion que je dois la mettre. voici cette ligne

SendMessage((GetDlgItem(hwnd, IDC_OPEN)),BM_SETIMAGE,(WPARAM)IMAGE_BITMAP,(LPARAM)(HANDLE)(LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON2))));

Merci
DraaFil

10 réponses

Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
Tu aurais du poster cette kestion sur ton precedent message...
Enfin bon, tu places cette fonction ou tu veux, par exemple, ds WM_INITDIALOG, ou lorsk tu click sur un bouton, ou je sais pas, tu le mets ou tu veux !
Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
ya une ENORME incoherence ds le code :

IMAGE_BITMAP et LoadIcon

Respecte les couples suivants :

IMAGE_BITMAP et LoadBitmap
IMAGE_ICON et LoadIcon

Voila

++
Messages postés
264
Date d'inscription
mercredi 16 avril 2003
Statut
Membre
Dernière intervention
23 mars 2012

ok!

mias j'ai 5 erreur de variable non déclarer est-ce que je dois inclure

Winuser.h
Windows.h

ERREUR:
H:\Bureau\Agenda 01-11-04\AgendaDlg.cpp(127) : error C2065: 'hwnd' : undeclared identifier
...

Merci
DraaFil
Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
SendMessage((GetDlgItem(hwnd, IDC_OPEN)),BM_SETIMAGE,(WPARAM)IMAGE_BITMAP,(LPARAM)(HANDLE)(LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON2))));

ok...donc :

hwnd = handle fenetre
IDC_OPEN = ID du bouton
GetDlgItem() permet d'obtenir le handle du controle donné par l'ID.
hInstance = HINSTANCE du prog (1er param ds WinMain)
IDI_ICON2 = ID de l'image

Mais n'oublie pas ce que j'ai dit plus haut, respecte les couples...
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
AlexMan a raison. Tu peux aussi décomposer cette ligne de code en deux c plus clair. Regarde l'exemple que j'ai envoyé en réponse à ton premier message.
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
pour les icones, vs vs embettez bcp...

MFC permet ça en une ligne

c_bHelpGal.SetIcon(AfxGetApp()->LoadIcon(IDI_ICON_AIDE));

++
Magic Nono: l'informagicien! 8-)
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Salut,
C'est vrai que MFC simplifie beaucoup la programmation, mais programmer en API est plus propre et nous permet de mieux maitriser le comportement du code. L'avantage des API n'est plus à démontrer. D'ailleurs beaucoup de programmeurs commencent par les MFC avant de se rendre compte que les API c'est mieux. Je n'ai jamais vu quelqu'un passer des API aux MFC.
Messages postés
264
Date d'inscription
mercredi 16 avril 2003
Statut
Membre
Dernière intervention
23 mars 2012

Toute mes tentatives ne fonctionne pas alors est-ce que quelqu'un pourrait me sender un projet avec lexemple.
jomoon_1981@hotmail.com

Merci
DraaFil
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Salut,
Tu es sûr d'avoir inclu correctement l'image comme ressource à ton projet?
Tu as quel compilateur?
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
racpp

d'ou la différence de programmer pour son loisir et le faire pour etre efficace ds le cadre d'un emploi et de contrainte de délais très forte

++

Magic Nono: l'informagicien! 8-)