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
20
 
        CWnd	 *co_wndObject = new CBitmapButton();
        CxImage image;
        ((CBitmapButton*)co_wndObject)->Create(	GetLabel(), 
							SS_NOTIFY|BS_OWNERDRAW, 
							GetPlacement(), 
							parent, 
							GetTag());
	image.Load(file, CXIMAGE_FORMAT_JPG);
	if (image.IsValid())
	{
	 if(!image.IsGrayScale()) image.IncreaseBpp(24);
	 image.Save("C:\\image2.bmp",CXIMAGE_FORMAT_BMP);
	} 
 
	HBITMAP hBitmap;
	hBitmap = (HBITMAP)::LoadImage(NULL, "C:\\image2.bmp"/*file*/, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE| LR_CREATEDIBSECTION | LR_DEFAULTSIZE);
 
 
	((CBitmapButton*)co_wndObject)->SetBitmap(hitmap);
Tout semble bien se passer.
Sauf que, ça plante... Dans la classe CBitmapButton, j'ai mon m_hObject qui est nul... Et je ne vois pas pourquoi...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
void CBitmapButton::DrawItem(LPDRAWITEMSTRUCT lpDIS)
{
	ASSERT(lpDIS != NULL);
	// must have at least the first bitmap loaded before calling DrawItem
	ASSERT(m_bitmap.m_hObject != NULL);     // required
...
Merci d'avance