png图片在CListCtrl中显示

CBitmap bitmap;
 CImageList m_cImageList;




 m_cImageList.Create(THUMWIDTH, THUMHEIGHT, ILC_COLORDDB|ILC_MASK, 20, 1);  
 ((CListCtrl*)GetDlgItem(IDC_LIST1))->SetImageList(&m_cImageList, LVS_ICON);

CImage img; //JPG / JPEG / GIF / PNG 格式的图片


 // 如果想加载资源ID中的图片,可以才考上一篇文章 资源中的JPG在CListCtrl中显示,因为Load支持IStream类型的加载
 HRESULT ret = img.Load(strBmpPath); // strBmpPath为图片的路径名
 HBITMAP hbitmap = img.Detach();  
 
 HANDLE hBB = CopyImage((HANDLE)hbitmap,IMAGE_BITMAP,THUMWIDTH,THUMHEIGHT,LR_COPYRETURNORG);
 hbitmap = (HBITMAP)hBB;
 
 bitmap.Attach(hbitmap);

 int n = m_cImageList.Add(&bitmap, RGB(255, 0, 255));
 CString strItem=_T("信箱1");
 LVITEM lvi;
 lvi.mask = LVIF_IMAGE|LVIF_TEXT;
 lvi.iItem = 0;
 lvi.iSubItem = 0;
 lvi.pszText = (LPTSTR)(LPCTSTR)(strItem);
 lvi.iImage = 0;
 ((CListCtrl*)GetDlgItem(IDC_LIST1))->InsertItem(&lvi);

你可能感兴趣的:(png图片在CListCtrl中显示)