weixin_42373421
玉虚宫叶少保
2019-04-25 22:02

mfc中listcontrol控件无法正确显示出插入的bmp图片资源

5
  • c++
  • visual studio

如题,但是蹊跷的是,直接使用mfc自带的框架图片“IDR_MAINFRAM”却能正确显示。

两段对比如下:

第一段是可以正确显示图片的主要代码部分,位于对话框初始化函数中:

    static CImageList imgList;
    imgList.Create(48,48,ILC_COLOR32,1,1);
    imgList.Add(AfxGetApp()->LoadIcon(IDR_MAINFRAME));
    m_List.SetImageList(&imgList,LVSIL_NORMAL);

    m_List.InsertItem(0,_T("1th Test item"));

而对应的调试结果如下图:
图片说明

第二段代码是无法显示bmp图片的:

    static CImageList imgList;
    imgList.Create(40,48,ILC_COLOR24,1,1);
    imgList.Add(AfxGetApp()->LoadIcon(IDB_BITMAP1));
    m_List.SetImageList(&imgList,LVSIL_NORMAL);

    m_List.InsertItem(0,_T("1th Test item"));

由下面的截图可以看到对应的图片ID(就是IDB_BITMAP1)没有错误:
图片说明

此时调试结果如下:

图片说明

奇怪的是楼主刚开始以为是图片大小的问题,但把imgList.Create(40,48,ILC_COLOR24,1,1);中的前两个参数调大之后仍显示空白

这我就不明白问题出在哪里了,希望路过看到的seniors指点一下,不胜感激!!!

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

1条回答