MFC CListCtrl 显示图片

news/2024/12/2 14:41:29/

MFC CListCtrl 显示图片

  • MFC CListCtrl 显示图片
  • PreCreateWindow中设置风格没有起作用
  • 在OnCreate中设置CListCtrl的风格最合适
  • 在OnInitialUpdate中添加数据最合适
  • 需要设置CImageList,资源是我自己搞的一个图片资源
  • ps:参考链接

MFC CListCtrl 显示图片

在使用MFC的CListCtrl的时候容易有需求列里面显示图片,在网上搜罗了一番,踩坑后总结一下,主要是使用CListView的时候怎么显示列图片

PreCreateWindow中设置风格没有起作用

BOOL CMFCCompleteView::PreCreateWindow(CREATESTRUCT& cs)
{// TODO: 在此处通过修改//这里主要针对cwnd//  CREATESTRUCT cs 来修改窗口类或样式return CListView::PreCreateWindow(cs);
}

在OnCreate中设置CListCtrl的风格最合适


//创建出来各种控件以后,设置控件的各种属性
int CMFCCompleteView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{if (CListView::OnCreate(lpCreateStruct) == -1)return -1;m_ListImageList.Create(32, 32, ILC_COLOR24, 4, 4);CBitmapEx bitmap;if (!bitmap.LoadBitmapFromFile(_T("res/bit.bmp"))){return -1;}CBitmapEx bit2;if (!bit2.LoadBitmapFromFile(_T("res/bit2.bmp"))){return -1;}m_ListImageList.Add(&bitmap, RGB(255, 0, 0));m_ListImageList.Add(&bit2, RGB(255, 0, 0));int nCount = m_ListImageList.GetImageCount();// TODO:  在此添加您专用的创建代码CListCtrl& list = GetListCtrl();list.SetImageList(&m_ListImageList, LVSIL_SMALL);list.ModifyStyle(0, LVS_REPORT);list.SetExtendedStyle(list.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_SUBITEMIMAGES);list.InsertColumn(0, "id", LVCFMT_LEFT, 200);list.InsertColumn(1, "name", LVCFMT_LEFT, 200);list.InsertColumn(1, "sex", LVCFMT_LEFT, 200);list.InsertColumn(1, "add", LVCFMT_LEFT, 200);return 0;
}

在OnInitialUpdate中添加数据最合适

void CMFCCompleteView::OnInitialUpdate()
{CListView::OnInitialUpdate();// TODO: 在此添加专用代码和/或调用基类CListCtrl& list = GetListCtrl();for (int idx = 0; idx < 100; idx++){int row = list.InsertItem(idx, _T("Test"), idx%16);list.SetItem(row, 1, LVIF_IMAGE| LVIF_TEXT, _T("第二列"),1,0,0,0);list.SetItem(row, 2, LVIF_IMAGE | LVIF_TEXT, _T("第三列"), 2, 0, 0, 0);list.SetItem(row, 3, LVIF_IMAGE | LVIF_TEXT, _T("第四列"), 3, 0, 0, 0);}
}

需要设置CImageList,资源是我自己搞的一个图片资源

在这里插入图片描述

ps:参考链接

CListCtrl列添加图片
CListCtrl显示图片


http://www.ppmy.cn/news/79492.html

相关文章

安卓、鸿蒙系统通通中招,手机指纹可被轻松破解

正文开始前问下大家&#xff0c;你的手机都采用了哪些解锁方式&#xff1f; 经过这么些年发展&#xff0c;目前手机的解锁方式可谓是五花八门。 从最开始的数字密码到图案密码&#xff0c;再到后来的面部解锁、虹膜解锁、指纹解锁等。 数字密码虽然最早出现&#xff0c;但放到…

揭秘数据传输中常用的加密算法及其优缺点

本文介绍了常见的数据加密算法,包括AES、RSA、DES、3DES和Blowfish。对每种算法的原理、应用场景、优点和缺点进行了详细的介绍。读者可以根据实际需求选择合适的加密算法以提高数据的安全性。 1. 高级加密标准(Advanced Encryption Standard, AES) 原理:AES是一种对称加…

ML之XGBoost:基于泰坦尼克号数据集(填充/标签编码/推理数据再处理)利用XGBoost算法(json文件的模型导出和载入推理)实现二分类预测应用案例

ML之XGBoost&#xff1a;基于泰坦尼克号数据集(填充/标签编码/推理数据再处理)利用XGBoost算法(json文件的模型导出和载入推理)实现二分类预测应用案例 目录 基于泰坦尼克号数据集(独热编码/标签编码)利用XGBoost算法(json文件的模型导出和载入推理)实现二分类预测应用案例 #…

数据可视化是什么?怎么做?看这篇文章就够了

数据可视化是什么 数据可视化主要旨在借助于图形化手段&#xff0c;清晰有效地传达与沟通信息。也就是说可视化的存在是为了帮助我们更好的去传递信息。 我们需要对我们现有的数据进行分析&#xff0c;得出自己的结论&#xff0c;明确要表达的信息和主题&#xff08;即你通过…

【软件测试】5年测试老鸟总结,自动化测试成功实施,你应该知道的...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 自动化测试 Pytho…

MicroBlaze系列教程(9):xilisf串行Flash驱动库的使用

文章目录 1. xilisf库简介2. xilisf库函数3. xilisf配置4. xilisf应用示例工程下载本文是Xilinx MicroBlaze系列教程的第9篇文章。 1. xilisf库简介 xilisf库(Xilinx In-system and Serial Flash Library) 是Xilinx 提供的一款串行Flash驱动库,支持常用的 Atmel 、Intel、S…

Go学习圣经:队列削峰+批量写入 超高并发原理和实操

说在前面&#xff1a; 本文是《Go学习圣经》 的第二部分。 第一部分请参见&#xff1a;Go学习圣经&#xff1a;0基础精通GO开发与高并发架构&#xff08;1&#xff09; 现在拿到offer超级难&#xff0c;甚至连面试电话&#xff0c;一个都搞不到。 尼恩的技术社群中&#xf…

web功能测试方法大全—完整!全面!(纯干货,建议收藏哦~)

本文通过六个部分为大家梳理了web功能测试过程中&#xff0c;容易出现的遗漏的部分&#xff0c;用以发掘自己工作中的疏漏。&#xff08;纯干货&#xff0c;建议收藏哦~&#xff09; 一、输入框 1、字符型输入框 2、数值型输入框 3、日期型输入框 4、信息重复 在一些需要命…