您好,欢迎来到纷纭教育。
搜索
您的当前位置:首页MFC中CListCtrl类依靠CImageList贴图并显示不同图像

MFC中CListCtrl类依靠CImageList贴图并显示不同图像

来源:纷纭教育

只介绍主要方法,函数的具体参数可在MSDN上查阅

  -------------------------------------------

  CListCtrl     m_ListCtrl;

  CImageList m_ImageList;

  CBitmap     bmp,bmp2;

                  .........

  ----------------------------------------

1.在CImageList中加载一系列图像(如添加2张)

  m_ImageList.Create(48, 48, ILC_COLOR24, 4, 4);

  bmp.LoadBitmap(IDB_BMP1);
  m_ImageList.Add(&bmp,(CBitmap*)NULL);

  bmp2.LoadBitmap(IDB_BMP2);
  m_ImageList.Add(&bmp2,(CBitmap*)NULL);

  此时m_ImageList包含2张图像

2.把图像加载到CListCtrl中

  m_ListCtrl.SetImageList(&PatientImageList,LVSIL_SMALL);
  m_ListCtrl.InsertColumn(0,"",LVCFMT_LEFT,50,0); 

  第二句代码将图像加载到列表的第一列中,显示的图像为m_ImageList的第一张图像,那么如何显示第2张第n张图像呢?

3.动态显示m_ImageList的图像

  如在条件A成立时在第nRow行显示第2张图像

  if (/*条件A*/)
  {
    LVITEM lvItem;
    lvItem.mask=LVIF_IMAGE;
    lvItem.iSubItem=0;
    lvItem.iImage=1;       //图像序列号,0,1,2...分别表示m_ImageList中第1,2,3...张图像
    lvItem.iItem = nRow;  //nRow为显示位置的行数
    m_ListCtrl.SetItem(&lvItem);  //完成动态显示
  }

转载于:https://www.cnblogs.com/shanlizi/p/6767668.html

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- fenyunshixun.cn 版权所有 湘ICP备2023022495号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务