MFC ListCtrl控件任意列添加图片

本文介绍了如何在MFC的ListCtrl控件中添加图片。首先,需将图标资源添加到项目,然后在DoDataExchange函数中绑定ListCtrl。在 OnInitDialog 函数中编写代码,通过HeadCtrl交换列来实现在指定列显示图片,例如第2、4列,而避免第1列显示图片。此方法使得可以灵活地在ListCtrl的任意列插入图片。
摘要由CSDN通过智能技术生成

首先,先将需要使用到的icon加入到资源文件(下图的IDI_ICON2和IDI_ICON3)。

在dialog中新建一个ListCtrl,并且在Dlg.cpp中的DoDataExchange函数中进行绑定。

void CTestDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialogEx::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_LIST, m_list);
}

这样准备工作就完了,接着在Dlg::OnInitDialog()中添加代码如下。

	//设置扩展样式,其中的LVS_EX_SUBITEMIMAGES没有的话没法在非第一列添加图片
	m_list.SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_SUBITEMIMAGES | LVS_EX_FULLROWSELECT);
	//创建ImageList,其中前3个参数分别为x,y,位图颜色
	//如果图像出来的颜色不对可以试着改下第3项
	m_IconList.Create(120, 128, ILC_COLORDDB | ILC_MASK, 30, 30);
	//向ImageList添加图片
	m_IconList.Add(AfxGetApp()->LoadIcon(IDI_ICON2));
	m_IconList.Add(AfxGetApp()->LoadIcon(IDI_ICON3));
	//将ImageList设
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值