listctrl 显示位图,只要建立一个CImageList 和listctrl建立连接就可以了

 

米度软件:www.midosoft.cn

 

1、在头文件里面:.h

CImageList m_imagelist; //-----创建一个新的图像列表框;

CBitmap bitmap1,bitmap2,bitmap3,bitmap4; //------创建几个位图;

2.在实现文件里面:.cpp

m_showalarm.SetExtendedStyle(m_showalarm.GetExtendedStyle()| LVS_EX_SUBITEMIMAGES );

这里的LVS_EX_SUBITEMIMAGES 使listctr可以使用位图资源;

bitmap1.LoadBitmapA(IDB_MAP1);   //------加载位图;

bitmap2.LoadBitmapA(IDB_MAP2);

bitmap3.LoadBitmapA(IDB_MAP3);

bitmap4.LoadBitmapA(IDB_MAP4);

m_imagelist.Create(32, 14,ILC_COLOR32|ILC_MASK, 0, 4);   //----- 实例图象框;
m_imagelist.Add(& bitmap1, RGB(0, 0, 0));       //----- 图象框加载位图;
m_imagelist.Add(& bitmap2, RGB(0, 0, 0));
m_imagelist.Add(& bitmap3, RGB(0, 0, 0));
m_imagelist.Add(& bitmap4, RGB(0, 0, 0));

m_showalarm.SetImageList(&m_imagelist,LVSIL_SMALL);    //-----m_showalarm 是listctrl的变量名字;现在是listctrl 和 图片框建立连接;

3、初始化listctrl ---

m_showalarm.InsertColumn(0,"T1",LVCFMT_LEFT,39);
m_showalarm.InsertColumn(1,"Text",LVCFMT_LEFT,82);
m_showalarm.InsertColumn(2,"A1",LVCFMT_LEFT,32);
m_showalarm.InsertColumn(3,"A2",LVCFMT_LEFT,32);
m_showalarm.InsertColumn(4,"A3",LVCFMT_LEFT,32);

这里是给listctrl 创建几个列及列头的名字;

4、listctrl 创建数据--

for(int j=0;j<strid.GetCount();j++)    //----striid 是我定义的一个字符串列表,里面保存着数据;
   {
     m_showalarm.InsertItem(j,NULL,1);    //--这里是插入一行;

     LVITEM item;                                 //这里我准备用item的方式进行插入数据;
     item.iItem=j;
     item.iSubItem=1;
     item.mask=LVIF_TEXT;               // 因为我在第二列准备插入的是文本所以这里用LVIF_TEXT;
     item.pszText=(LPSTR)(LPCSTR)strid.GetAt(j);
     m_showalarm.SetItem(&item);

    item.iItem=j;
     item.iSubItem=0;
     item.mask=LVIF_IMAGE;           //这是第一列我插入的是图片,用的是LVIF_IMAGE;
     item.iImage=2;     // ---------关键就在这里,因为图片框里面现在里面存放了4个图片,2是图片框里面的索引,从0开始。所以选择2就表明现在插入的图片时图片框里面的第三张图片;

        m_showalarm.SetItem(&item);       

      for(int i=2;i<4;i++)
       {
      item.iItem=j;
      item.iSubItem=i;
      item.mask=LVIF_IMAGE;
      item.iImage=1;                     //----- 这里两个列我也是插入图片,但是图片我选择的是图片框里的第2张图片,请注意,区别就在这里;想用什么图片只要在图片框里面加载上然后记住他的索引值就可以了。不过注意图片框里的图片要大小一致,不然会出现显示空图片或者乱码;
      m_showalarm.SetItem(&item);
     
     }


        }

 

Ok。现在listctrl已经显示的是位图了。

 

米度软件:www.midosoft.cn

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值