m_stc 是CStatic类型的成员变量。
CImageList imgList;
IMAGEINFO imgInfo;void CAaDlg::OnButton1() 
{
imgList.Create(IDB_BITMAP1,16,1,RGB(0,255,0));
imgList.GetImageInfo(0,&imgInfo);
m_stc.Create("",WS_CHILD|WS_VISIBLE|SS_BITMAP,CRect(0,0,200,200),this);
m_stc.SetBitmap(imgInfo.hbmImage);
}
我有一排图像在IDB_BITMAP1里,大约十多个。
为什么static上显示不出我指定部分的图像来呢??
折腾了一下午都不显示。真是丢人啊
(注意:不用ICON方式)

解决方案 »

  1.   

    都混了一个星了,本来偶也觉着是小菜一碟,可反复就是搞不定啊...BOOL GetImageInfo(
       int nImage,
       IMAGEINFO* pImageInfo 
    ) const;
    Parameters
    nImage 
    Zero-based index of the image. 
    pImageInfo 
    Pointer to an IMAGEINFO structure that receives information about the image. The information in this structure can be used to directly manipulate the bitmaps for the image.
      

  2.   

    m_stc.Create("",WS_CHILD|WS_VISIBLE|SS_BITMAP,CRect(0,0,200,200),this);
    应该是这一句的问题,CStatic.Create最后一个参数是CtrlID = 0xffff就是IDC_STATIC
    如果是这个ID值可能会有消息收不到,你设个新的ID值.
      

  3.   

    我怎么就一下子搞出来了?m_stc2是一个对话的变量 CStatic m_stc2;其他啥玩意都没了。
             CBitmap bmp;
    bmp.LoadBitmap(IDB_BITMAP1); m_stc2.Create("",WS_CHILD|WS_VISIBLE|SS_BITMAP,CRect(10,10,200,200),this);
    m_stc2.SetBitmap(bmp);
      

  4.   

      你的问题可能和这有关:   // PRB: SelectObject() Fails After ImageList_GetImageInfo()
       http://www.kbalertz.com/kb_131279.aspx 
      我试了一下:   HBITMAP bhm=(HBITMAP)::CopyImage(imgInfo.hbmImage,0,0,
    IMAGE_BITMAP,LR_CREATEDIBSECTION); m_stc.SetBitmap(bhm);  但是 好像 把所有的图像都搞出来了,并不仅是指定编号部分的图像,还赠送了一些黑色的区域  楼主继续研究,搞定了告诉兄弟们一下:)
      
      
      

  5.   

    是不是你的imglist地问题
    全部贴出来大家瞅瞅
      

  6.   

    就是实现
    就是把imagelist指定的第n个图像显示在一个CStatic上。
      

  7.   

    CImageList既然能提供一组图片,为什么不能得到其中一张呢?
    我真是不解啊。