CListCtrl控件图标显示和动态更换实现

本文介绍了如何在MFC的OCX中使用CListCtrl控件进行图标显示和动态更换。首先创建图像列表,通过LoadImage加载图片,然后设置控件样式并关联图像列表。接着插入列,添加信息,并展示了如何通过消息发送实现图标动态更新。
摘要由CSDN通过智能技术生成

    由于要在OCX中使用CListCtrl控件,在MFC中的控件属性和方法都不能用,只能老老实实的用消息和宏来实现这个控件的各个功能,所以着实费了点手脚。、

    首先将一个CListCtrl控件放入界面中,获得它的句柄以便以后操作这个控件:HWND m_hFileList = ::GetDlgItem(m_hWnd,IDC_LIST_FILELIST);

    由于需要关联一个图像列表,但不知什么原因,在OCX中不支持CImageList类的使用,所以换了个方式来创建图像列表:

HIMAGELIST m_hImageList  =  ImageList_Create(16,16,ILC_COLOR16|ILC_MASK,3,10);   // ImageList_Create是一个宏,用法等同于使用消息发送

   再导入一个图片,采用外部文件导入的方式:

   HBITMAP hBitmap = (HBITMAP)::LoadImage(NULL,_T("E:\\Wait.bmp"),IMAGE_BITMAP,0,0,LR_LOADFROMFILE) ;
   ImageList_Add(m_hImageList,hBitmap,0) ;

  设置CListCtrl控件的风格:ListView_SetExtendedListViewStyle(m_hFileList, LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES| LVS_EX_SUBITEMIMAGES );

  关联图片列表:ListView_SetImageList(m_hFileList,m_hImageList,LVSIL_SMALL);

  然后简单的创建几个列用于显示:

  LVCOLUMN   list;
  list.mask =

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值