MFC 为树形控件添加图标

软件 专栏收录该内容
48 篇文章 0 订阅

添加控件,树形控件,静态文本框和编辑框。树形控件属性Has Buttons,Has Lines, Lines At Root 勾选为True.

并为树形控件添加变量,m_webTree



在初始化函数中添加代码:


	// TODO:  在此添加额外的初始化代码

	// 定义树形控件句柄
	HTREEITEM hRoot;
	HTREEITEM hSon;
	HTREEITEM hGrandson;

	// 添加根节点
	hRoot = m_webTree.InsertItem(L"生活用品", 0, 0);

	// 二级结点
	hSon = m_webTree.InsertItem(L"衣服", 1, 1, hRoot, TVI_LAST);

	// 三级结点
	hGrandson = m_webTree.InsertItem(L"男装", 2, 2, hSon, TVI_LAST);
	hGrandson = m_webTree.InsertItem(L"女装", 2, 2, hSon, TVI_LAST);
	hGrandson = m_webTree.InsertItem(L"童装", 2, 2, hSon, TVI_LAST);

	// 二级结点
	hSon = m_webTree.InsertItem(L"食品", 1, 1, hRoot, TVI_LAST);
	// 三级结点
	hGrandson = m_webTree.InsertItem(L"休闲零食", 2, 2, hSon, TVI_LAST);
	hGrandson = m_webTree.InsertItem(L"时鲜果蔬", 2, 2, hSon, TVI_LAST);
	hGrandson = m_webTree.InsertItem(L"美酒佳酿", 2, 2, hSon, TVI_LAST);
	hGrandson = m_webTree.InsertItem(L"滋补养生", 2, 2, hSon, TVI_LAST);
	
	// 二级结点
	hSon = m_webTree.InsertItem(L"家电", 1, 1, hRoot, TVI_LAST);
	// 三级结点
	hGrandson = m_webTree.InsertItem(L"厨具", 2, 2, hSon, TVI_LAST);
	// 四级
	m_webTree.InsertItem(L"电饭煲", 3, 3, hGrandson, TVI_LAST);
	m_webTree.InsertItem(L"电磁炉", 3, 3, hGrandson, TVI_LAST);
	m_webTree.InsertItem(L"热水壶", 3, 3, hGrandson, TVI_LAST);
	// 三级
	hGrandson = m_webTree.InsertItem(L"彩电", 2, 2, hSon, TVI_LAST);
	hGrandson = m_webTree.InsertItem(L"空调", 2, 2, hSon, TVI_LAST);
	hGrandson = m_webTree.InsertItem(L"洗衣机", 2, 2, hSon, TVI_LAST);

此时,运行后树形控件里就有东西了。

下一步是在编辑框中显示选择的项目

双击树形控件来编程:

void CTreeDlg::OnTvnSelchangedTree1(NMHDR *pNMHDR, LRESULT *pResult)
{
	LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);
	// TODO:  在此添加控件通知处理程序代码
	*pResult = 0;

	CString strText;

	HTREEITEM hTree;

	hTree = m_webTree.GetSelectedItem();          // 获取树形控件句柄

	strText = m_webTree.GetItemText(hTree);       // 获取选择的项目

	SetDlgItemText(IDC_EDIT1, strText);           // 在编辑框设置选择的项目
}

此时,运行后,编辑框中就能显示选择的项目了。

下一部是添加图标.

首先添加资源,添加32x32的.ioc位图资源

在dlg.h头文件中添加一个pubilic图像列表类对象

	// 图像列表类对象
	CImageList m_imagelist;
在初始化区域添加代码来添加图标

	// 添加图标
	HICON hIcon[4];

	// 加载图标
	hIcon[0] = theApp.LoadIconW(IDI_ICON1);
	hIcon[1] = theApp.LoadIconW(IDI_ICON2);
	hIcon[2] = theApp.LoadIconW(IDI_ICON3);
	hIcon[3] = theApp.LoadIconW(IDI_ICON4);

	// 创建图标序列CImageList对象
	m_imageList.Create(32, 32, ILC_COLOR32, 3, 3);

	// 将三个图标添加到图像序列
	for (int i = 0; i < 4; i++){
		m_imageList.Add(hIcon[i]);
	}

	// 为树形控件设置图像序列
	m_webTree.SetImageList(&m_imageList, TVSIL_NORMAL);

此时图标就添加成功了。
















  • 3
    点赞
  • 1
    评论
  • 9
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值