代码如下:
void CMyqqListCtrl::OnPaint()
{
      省略.....
     int nItemCount  = GetItemCount();
int nItem = 0;
CRect rcItem,rcText,rcIcon; POINT pt;
GetCursorPos(&pt);
ScreenToClient(&pt); while ((nItem < nItemCount) && (nItem >=0))
{
GetItemRect(nItem,rcItem, LVIR_BOUNDS); //get Rectangle of the icon and Lable
GetItemRect(nItem,rcText, LVIR_LABEL);
GetItemRect(nItem,rcIcon, LVIR_ICON);
//DWORD nStyle = GetItemData(nItem);
CImageList* pImageList=NULL;
pImageList = GetImageList(LVSIL_SMALL); LVITEM   item;   
memset(&item,0,sizeof(LVITEM));   
item.iItem =nItem;   
item.mask  =LVIF_IMAGE;   
GetItem(&item);   
int  iImage =item.iImage;    //在内存中绘制位图   
IMAGEINFO pImageInfo;
pImageList->GetImageInfo(iImage ,&pImageInfo);  
bitmap.FromHandle( pImageInfo.hbmImage);
bitmap.GetBitmap(&bitMap);

 省略.....
     }

问题是:红色部分,得到的bitMap结构不是正常的位图,宽度和高度都不是正常的尺寸