//************oncreat函数里面
m_pImgListCtrl = new CListCtrl();
m_pImgListCtrl->Create(WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_ALIGNLEFT|LVS_ICON ,
        CRect(0,0,100,100), &m_wndImgBar, 1);
        //*********************一个消息响应函数中**************
        HBITMAP hBitmap;
CBitmap *pBitmap;
CImageList *pImageList;
pImageList=new CImageList;
pImageList->Create (60,60,ILC_COLOR24,0,1);
pImageList->SetImageCount(1);
m_pFrameWnd->m_pImgListCtrl->SetImageList(pImageList,LVSIL_NORMAL);
pBitmap=new  CBitmap; 
hBitmap=(HBITMAP)LoadImage(AfxGetInstanceHandle(),is2[is2_count].fullPath,IMAGE_BITMAP, 0,0, LR_LOADFROMFILE);//FilePathName 是位图文件完整路径字符串
pBitmap->Attach (hBitmap);
pImageList->Add(pBitmap,RGB(255,255,255));
m_pFrameWnd->m_pImgListCtrl->InsertItem(0,is2[is2_count].name,0);加载的图象显示为黑色狂,高手高手帮忙看看是什么原因啊,急得很啊.拜谢了.
    不好意思啊,现在是0分以后有了分再散.        

解决方案 »

  1.   

    hBitmap=(HBITMAP)LoadImage(AfxGetInstanceHandle(),is2[is2_count].fullPath,IMAGE_BITMAP, 0,0, LR_LOADFROMFILE);楼主先确认下你图像是否加载成功了!
      

  2.   

    首先如ls所说,调试看看hBitmap是否加载成功然后调下顺序试试看pImageList-> Add(pBitmap,RGB(255,255,255)); 
    m_pFrameWnd-> m_pImgListCtrl-> SetImageList(pImageList,LVSIL_NORMAL); 
    m_pFrameWnd-> m_pImgListCtrl-> InsertItem(0,is2[is2_count].name,0); 
      

  3.   


       谢谢两位的关注,我位图是加载了进来的.
    CDC*     pMemDC=new   CDC; 
      CDC *pDC = m_pFrameWnd->m_pImgListCtrl->GetWindowDC();
      pMemDC-> CreateCompatibleDC(pDC);//pDC是你的屏幕DC 
      CBitmap  *pOldBitmap=pMemDC-> SelectObject(pBitmap); 
    ::SetStretchBltMode(pDC->m_hDC, COLORONCOLOR);
      pDC-> StretchBlt((is2_count-1)*80+6,2,80, 80, pMemDC,0, 0,nWidth1,nHeight1,SRCCOPY);
      pMemDC-> SelectObject(pOldBitmap); 
      ReleaseDC(pMemDC); 
      delete pMemDC;    因为我用上面的语句可以直接画到控件上面,但这样只有显示作用了,控件的任何作用都没起到.