Click here to Skip to main content
15,887,175 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: Assertion error in SetWindowPos() Pin
Anu_Bala3-Jan-10 20:09
Anu_Bala3-Jan-10 20:09 
GeneralRe: Assertion error in SetWindowPos() Pin
KingsGambit3-Jan-10 20:22
KingsGambit3-Jan-10 20:22 
GeneralRe: Assertion error in SetWindowPos() Pin
Anu_Bala3-Jan-10 22:13
Anu_Bala3-Jan-10 22:13 
QuestionMatrix class h Pin
richard cyper3-Jan-10 13:19
richard cyper3-Jan-10 13:19 
AnswerRepost. Pin
CPallini3-Jan-10 13:44
mveCPallini3-Jan-10 13:44 
AnswerRe: Matrix class h Pin
Cedric Moonen3-Jan-10 20:27
Cedric Moonen3-Jan-10 20:27 
AnswerRe: Matrix class h Pin
Alan Balkany6-Jan-10 4:00
Alan Balkany6-Jan-10 4:00 
QuestionDrawing 32 bit bitmaps Pin
softwaremonkey3-Jan-10 10:53
softwaremonkey3-Jan-10 10:53 
Hi,

I am loading a 32 bit bitmap (24 bit + alpha channel) into a CImageList and then attempting to draw it without much success. The 'transparent' bits are drawn in black. If I specify black as the mask when I add the bitmap it works OK but this means I cant have any black pixels in the bitmap.

Does anyone know what is needed to make this work. For info, I am dioing the following...

Loading the bitmap...
HBITMAP hBM = (HBITMAP)::LoadImage(AfxGetInstanceHandle(), s, 
	IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION);
	
if(hBM)	// Success?
{
	BITMAP bmp;
	::GetObject(hBM, sizeof(bmp), &bmp);	// Get bitmap info
		
	UINT flags;
	switch(bmp.bmBitsPixel)
	{
	case 4:
	flags = ILC_COLOR4;
	break;

	case 8:
	flags = ILC_COLOR8;
	break;

	case 16:
	flags = ILC_COLOR16;
	break;

	case 24:
	flags = ILC_COLOR24;
	break;

	case 32:
	flags = ILC_COLOR32;
	break;
	}
	
	m_imageList.DeleteImageList();		// Clear image list
	m_nImageWidth = bmp.bmWidth / m_nStates / m_nStyles;
	m_nImageHeight = bmp.bmHeight;
	m_imageList.Create(m_nImageWidth, m_nImageHeight, flags | ILC_MASK, m_nStates * m_nStyles, 0);

	CBitmap bm;
	m_bImageLoaded = true;
	bm.Attach(hBM);
	m_imageList.Add(&bm, RGB(255,0,255));


And drawing...
if(m_bImageLoaded)
{
	m_imageList.Draw(pDC, nImage, loc, ILD_NORMAL);
}


Thanks

Tony Thumbs Up | :thumbsup:
AnswerRe: Drawing 32 bit bitmaps Pin
«_Superman_»3-Jan-10 15:43
professional«_Superman_»3-Jan-10 15:43 
AnswerRe: Drawing 32 bit bitmaps Pin
Joe Woodbury3-Jan-10 15:58
professionalJoe Woodbury3-Jan-10 15:58 
AnswerRe: Drawing 32 bit bitmaps Pin
Naveen3-Jan-10 16:54
Naveen3-Jan-10 16:54 
AnswerRe: Drawing 32 bit bitmaps - Solution [modified] Pin
softwaremonkey3-Jan-10 20:42
softwaremonkey3-Jan-10 20:42 
GeneralRe: Drawing 32 bit bitmaps - Solution Pin
Naveen4-Jan-10 16:43
Naveen4-Jan-10 16:43 
GeneralRe: Drawing 32 bit bitmaps - Solution Pin
softwaremonkey4-Jan-10 20:02
softwaremonkey4-Jan-10 20:02 
QuestionHelp Help Help Pin
richard cyper3-Jan-10 4:29
richard cyper3-Jan-10 4:29 
AnswerRe: Help Help Help Pin
Luc Pattyn3-Jan-10 4:38
sitebuilderLuc Pattyn3-Jan-10 4:38 
AnswerRe: Help Help Help Pin
Jimmanuel3-Jan-10 4:50
Jimmanuel3-Jan-10 4:50 
AnswerRe: Help Help Help Pin
LunaticFringe3-Jan-10 4:56
LunaticFringe3-Jan-10 4:56 
AnswerRe: Help Help Help [fixed - thanks Nelek] Pin
CPallini3-Jan-10 7:22
mveCPallini3-Jan-10 7:22 
GeneralRe: Help Help Help Pin
Nelek3-Jan-10 7:56
protectorNelek3-Jan-10 7:56 
GeneralRe: Help Help Help Pin
CPallini3-Jan-10 8:23
mveCPallini3-Jan-10 8:23 
JokeRe: Help Help Help Pin
Nelek3-Jan-10 11:24
protectorNelek3-Jan-10 11:24 
GeneralRe: Help Help Help Pin
CPallini3-Jan-10 11:54
mveCPallini3-Jan-10 11:54 
GeneralRe: Help Help Help [fixed - thanks Nelek] Pin
ThatsAlok3-Jan-10 22:12
ThatsAlok3-Jan-10 22:12 
GeneralOT Pin
CPallini4-Jan-10 0:39
mveCPallini4-Jan-10 0:39 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.