Problem at drawing 256 color Icons in CListCtrl
Hi,
i modify my existing code to draw 256 color icons instead of 16 color.
I find here in NG some example, but it does not working correctly: The
background color is always white. Can anyone give me a hint?
Here is the code (i add more than one bitmap in a loop into the
imagelist because more than one column contains icons, it works with 16
color icons perfectly), it is compiled under VC6:
for (i = m_iImageColumnCount = 0;i < m_iColumnCount;++i)
{
int iStartindex = -1;
if (m_viImageID[i])
{
HBITMAP hBitmap = (HBITMAP)::LoadImage(::AfxGetInstanceHandle(),
MAKEINTRESOURCE(m_viImageID[i]),
IMAGE_BITMAP,
0,16,LR_LOADTRANSPARENT);
ASSERT(hBitmap != NULL);
CBitmap bmp;
bmp.Attach(hBitmap);
if (m_iImageColumnCount++ == 0)
{
iStartindex = 0;
m_cImageList.Create(32,16,ILC_COLOR8,1,1);
}
else
iStartindex = m_cImageList.GetImageCount();
m_cImageList.Add(&bmp,RGB(255,0,255));
bmp.DeleteObject();
}
m_viImageStartindex[i] = iStartindex;
}
SetImageList(&m_cImageList,TVSIL_NORMAL);
##### And here is the draing code in OnPaint() ######
COLORREF rgb = m_cImageList.GetBkColor();
// set image list background color
m_cImageList.SetBkColor(crBkgnd);
m_cImageList.DrawIndirect(pDC, nImage, point, size, CPoint(0, 0));
m_cImageList.SetBkColor(rgb);
###############
In the bitmaps which IDs are adressed with m_viImageID[i] the
background color is magenta (255,0,255) also the upper left corner.
Thanx for any help!!!
Greetings from Frank