Charger une image à partir du chemin

cs_Tibabou Messages postés 129 Date d'inscription mercredi 2 janvier 2002 Statut Membre Dernière intervention 7 juillet 2012 - 10 avril 2005 à 14:51
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 - 14 avril 2005 à 17:59
Bonjour/soir,

J'aimerais savoir comment faire pour charger une image dans un controle (button) à partir de son emplacement sur le disque.

Merci.
Tibabou

11 réponses

victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
11 avril 2005 à 09:24
Bonjour,



char * nomdufichier="C:\\image.bmp";

HBITMAP IMG = (HBITMAP)LoadBitmap (hThisInstance,nomdufichier) ;

// hThisInstance est l'instance du programme



SendMessage(hwndbouton, STM_SETIMAGE ,IMAGE_BITMAP ,IMG) ;

// hwndbouton est l'HWND du boutton



Merci,



Le créateur du site http://victorlogiciels.com
0
cs_Tibabou Messages postés 129 Date d'inscription mercredi 2 janvier 2002 Statut Membre Dernière intervention 7 juillet 2012
11 avril 2005 à 12:04
Houla...J'ai plein d'erreurs. Il me manque pas une bibliothèque ?...
--------------------Configuration: steamwindow - Win32 Debug--------------------
Compiling...
main.cpp
main.cpp(32) : error C2065: 'HBITMP' : undeclared identifier
main.cpp(32) : error C2440: 'initializing' : cannot convert from 'int' to 'struct HBITMAP__ *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
main.cpp(32) : error C2146: syntax error : missing ';' before identifier 'LoadBitmapA'
main.cpp(33) : error C2664: 'SendMessageA' : cannot convert parameter 1 from 'const int' to 'struct HWND__ *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
Error executing cl.exe.


steamwindow.exe - 4 error(s), 0 warning(s)

Tibabou
0
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
11 avril 2005 à 13:41
Bonjour,




> main.cpp(32) : error C2065: 'HBITMP' : undeclared identifier



Il me semble que j'ai mais HBITMAP et pas HBITMP




char * nomdufichier="C:\\image.bmp";

HBITMAP IMG = (HBITMAP)LoadBitmap (hThisInstance,nomdufichier) ;

// hThisInstance est l'instance du programme



SendMessage(hwndbouton, STM_SETIMAGE ,IMAGE_BITMAP ,(wParam)IMG) ;

// hwndbouton est l'HWND du boutton





Merci,



Le créateur du site http://victorlogiciels.com
0
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
11 avril 2005 à 13:42
Bonjour,



#include <windows.h>





Merci,



Le créateur du site http://victorlogiciels.com
0

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

Posez votre question
cs_Tibabou Messages postés 129 Date d'inscription mercredi 2 janvier 2002 Statut Membre Dernière intervention 7 juillet 2012
11 avril 2005 à 18:37
Plus qu'une erreur, j'ai mis IDC_BUTTON1 pour le "HWND du bouton".
Je ne sais pas ce que c'est le "HWND"
Que dois-je mettre ?

Tibabou
0
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
11 avril 2005 à 19:50
Bonjour,



Tu le converti :

HWND hwndbouton = GetDlgItem(hwnd,IDC_BUTTON1
);

// hwnd est le HWND de la fenêtre principale



Merci,



Le créateur du site http://victorlogiciels.com
0
cs_Tibabou Messages postés 129 Date d'inscription mercredi 2 janvier 2002 Statut Membre Dernière intervention 7 juillet 2012
11 avril 2005 à 22:15
Voilà ce que ça me donne maintenant:

main.cpp(34) : error C2664: 'SendMessageA' : cannot convert parameter 4 from 'struct HBITMAP__ *' to 'long'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
Error executing cl.exe.

Merci pour ta patience.
Tibabou
0
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
11 avril 2005 à 22:19
Bonjour,



Si tu as déjà remplacé:


SendMessage(hwndbouton, STM_SETIMAGE ,IMAGE_BITMAP ,IMG) ;




par :


SendMessage(hwndbouton, STM_SETIMAGE ,IMAGE_BITMAP ,(wParam)IMG) ;



essai:



SendMessage(hwndbouton, STM_SETIMAGE ,IMAGE_BITMAP ,(long)IMG) ;



sinon essai les deux et dis le code final si c'est bon





Merci,



Le créateur du site http://victorlogiciels.com
0
cs_Tibabou Messages postés 129 Date d'inscription mercredi 2 janvier 2002 Statut Membre Dernière intervention 7 juillet 2012
12 avril 2005 à 11:38
Merci, ça marche avec:
SendMessage(hwndbouton, STM_SETIMAGE ,IMAGE_BITMAP ,(long)IMG) ;

En revanche, mon bouton ne met pas l'image. J'ai créé un bouton avec comme propriété "bitmap". Il n'y a plus de texte dessus mais pas d'image non plus...

Tibabou
0
cs_Tibabou Messages postés 129 Date d'inscription mercredi 2 janvier 2002 Statut Membre Dernière intervention 7 juillet 2012
13 avril 2005 à 12:54
Tu sais pas d'où peut venir le problème ? Toutes les sources que j'ai trouvées sur ce site utilisent des images déjà importées.

Tibabou
0
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
14 avril 2005 à 17:59
Bonjour,



Utilise les ressources.



Merci,



Le créateur du site http://victorlogiciels.com
0
Rejoignez-nous