我用OPENCV处理图片,将得到的图片一个个的贴起来,最后可以点击图片获取信息。查阅资料发现可以用CListCtrl来做(应该是的吧?),可是现在不知道该怎么办了,我初学MFC,对里面的类不熟,请问有没有人指教下这个到底该怎么做,有没有参考码呢,谢谢!因为是新人,经常在上面问问题,所以分不多了,还请各位帮忙。

解决方案 »

  1.   

    以上问题基本能解决了,但是我在把IplImage转成bitmap,然后显示到CListCtrl上时,是倒立的,以下是我找的转换代码:
    void CpictureListDlg::IplImageToBitmap(IplImage* pIplImage, Bitmap*& pBitmap)
    {
     if(!pIplImage)   
            return;   
     pIplImage->origin=0;
        BITMAPINFOHEADER bmih;   
        memset(&bmih, 0, sizeof(BITMAPINFOHEADER));   
        bmih.biSize = sizeof(BITMAPINFOHEADER);   
        bmih.biWidth = pIplImage->width;   
        bmih.biHeight = pIplImage->height;   
        bmih.biPlanes = 1;   
        bmih.biBitCount = pIplImage->depth*pIplImage->nChannels;   
        bmih.biSizeImage = pIplImage->imageSize;   
      
        BYTE* pData=new BYTE[bmih.biSizeImage];   
        memcpy(pData, pIplImage->imageDataOrigin, pIplImage->imageSize);   
      
        if (pBitmap)   
        {   
            delete pBitmap;   
            pBitmap = NULL;   
        }   
        pBitmap = Gdiplus::Bitmap::FromBITMAPINFO((BITMAPINFO*)&bmih, pData);   
    }
    好像是读数据的顺序问题,请问怎么改进啊?
      

  2.   

    你自绘下CListCtrl,在OnPaint里画,是要ICON样式的吗
      

  3.   

    是的,但是这个我目前能贴图了就是在Iplimage转bitmap后在贴出来倒立,不知道怎么办了