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 :
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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 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);
mais la ligne soulignée fait planté le programme.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 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; }
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 !
[a l'avenir utilise la balise code ,Merci Farscape]
Partager