Image sur un bouton [MFC]

Résolu
cs_mfrai02
Messages postés
18
Date d'inscription
jeudi 6 mars 2003
Statut
Membre
Dernière intervention
22 février 2007
- 23 mai 2005 à 15:11
cs_mfrai02
Messages postés
18
Date d'inscription
jeudi 6 mars 2003
Statut
Membre
Dernière intervention
22 février 2007
- 24 mai 2005 à 17:15
Salut , j'utilise visual studio .net 2003 et les MFC.



j'utilise ce bout de code pour afficher une iamge sur un bouton et ça marche bien :



HWND hBouton = ::GetDlgItem(this->m_hWnd,IDC_BUTTON1);

this->hImage = ::LoadImage(this->hInst,MAKEINTRESOURCE(IDB_FONT),



IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION);



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



Le soucis est que j'utilise une image dans les ressources et vu que
j'arrive pas à mettre une .bmp dans les ressources j'aimerais loader
une image avec son PATH. J'ai une classe CPicture qui fait ça mais
j'arrive pas à faire le lien entre le code au dessus et la classe
CPicture. J'utilise la classe CPicture pour mettre une image en fond
d'une CDialog en fait. Après j'ai trouvée une fonction sur ce site qui
load une image :



HBITMAP CYEPDlg::LoadAnImage(char* FileName)

{

WCHAR wpath[MAX_PATH];

MultiByteToWideChar(CP_ACP, 0, FileName, -1, wpath, MAX_PATH);



IPicture* pPic;

OleLoadPicturePath(wpath, NULL, NULL, NULL, IID_IPicture,(LPVOID*)&pPic);





HBITMAP hPic = NULL;

pPic->get_Handle((UINT*)&hPic);



HBITMAP hPicRet = (HBITMAP)CopyImage(hPic, IMAGE_BITMAP, 0, 0, LR_COPYRETURNORG);



pPic->Release();





return hPicRet;

}



mais la ligne soulignée fait planté le programme.

Si quelqu'un pouvait m'aider svp !! En gros j'aimerais mettre une image
sur un bouton l'image n'étant pas dans les ressources . Merci par
avance !

1 réponse

cs_mfrai02
Messages postés
18
Date d'inscription
jeudi 6 mars 2003
Statut
Membre
Dernière intervention
22 février 2007

24 mai 2005 à 17:15
http://www.developpez.net/forums/viewtopic.php?t=345822



On m'a répondu sur un autre forum
3