树控件的使用

目录

1、修改树控件的基础属性:

[2、准备图标 :](#2、准备图标 :)

(1)、ico后缀的图片放入当前文件路径的rc中

(2)、在Icon中添加资源,导入图片

(3)、准备HICON图标

(4)、创建图标集合

(5)、添加具体的图片

(6)、设置节点

(7)、设置默认选项

(8)、添加一个事件,完成切换出现弹框

[3、最终运行的UI界面 :](#3、最终运行的UI界面 :)

4、上诉代码的实现:


1、修改树控件的基础属性:

1、Has Lines True 出现虚线。

2、Has Buttons Ture 折叠按钮。

3、Line At Root 根节点的连线。

2、准备图标 :

(1)、ico后缀的图片放入当前文件路径的rc中

(2)、在Icon中添加资源,导入图片

(3)、准备HICON图标

(4)、创建图标集合

(5)、添加具体的图片

(6)、设置节点

(7)、设置默认选项

(8)、添加一个事件,完成切换出现弹框

3、最终运行的UI界面 :

4、上诉代码的实现:

cpp 复制代码
//树控件使用

	//1、设置图标

	//准备HICON图标
	HICON icons[4];
	icons[0] = AfxGetApp()->LoadIconW(IDI_ICON1);
	icons[1] = AfxGetApp()->LoadIconW(IDI_ICON2);
	icons[2] = AfxGetApp()->LoadIconW(IDI_ICON3);
	icons[3] = AfxGetApp()->LoadIconW(IDI_ICON4);
	
	//CImageList list;写到.h中当成员属性,不被释放
	
	//创建图标集合
	list.Create(30,30,ILC_COLOR32,4,4);
	
	//添加具体的图片
	for (int i = 0; i < 4; i++)
	{
		list.Add(icons[i]);
	}

	m_tree.SetImageList(&list, TVSIL_NORMAL);

	//2、设置节点
	HTREEITEM root = m_tree.InsertItem(TEXT("根节点"), 0, 0, NULL);
	HTREEITEM parent = m_tree.InsertItem(TEXT("父节点"), 1, 1, root);
	HTREEITEM sub1 = m_tree.InsertItem(TEXT("子节点1"), 1, 1, parent);
	HTREEITEM sub2 = m_tree.InsertItem(TEXT("子节点2"), 1, 1, parent);

	//设置默认选项
	m_tree.SelectItem(sub1);
	

	return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE
}
cpp 复制代码
void CtreeApplication1Dlg::OnTvnSelchangedTree1(NMHDR *pNMHDR, LRESULT *pResult)
{
	LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);
	// TODO: 在此添加控件通知处理程序代码
	*pResult = 0;

	//获取当前的项
	HTREEITEM item =m_tree.GetSelectedItem();

	CString name = m_tree.GetItemText(item);
	MessageBox(name);
}
相关推荐
Jtti1 小时前
Windows系统服务器怎么设置远程连接?详细步骤
运维·服务器·windows
羊小猪~~1 小时前
数据结构C语言描述2(图文结合)--有头单链表,无头单链表(两种方法),链表反转、有序链表构建、排序等操作,考研可看
c语言·数据结构·c++·考研·算法·链表·visual studio
小奥超人1 小时前
PPT文件设置了修改权限,如何取消权?
windows·经验分享·microsoft·ppt·办公技巧
脉牛杂德2 小时前
多项式加法——C语言
数据结构·c++·算法
legend_jz2 小时前
STL--哈希
c++·算法·哈希算法
CSUC2 小时前
【C++】父类参数有默认值时子类构造函数列表中可以省略该参数
c++
Vanranrr2 小时前
C++ QT
java·c++·qt
鸿儒5172 小时前
C++ lambda 匿名函数
开发语言·c++
van叶~3 小时前
算法妙妙屋-------1.递归的深邃回响:二叉树的奇妙剪枝
c++·算法
knighthood20013 小时前
解决:ros进行gazebo仿真,rviz没有显示传感器数据
c++·ubuntu·ros