树控件的使用

目录

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);
}
相关推荐
王老师青少年编程13 小时前
csp信奥赛C++高频考点专项训练之贪心算法 --【哈夫曼贪心】:合并果子
c++·算法·贪心·csp·信奥赛·哈夫曼贪心·合并果子
叼烟扛炮14 小时前
C++第二讲:类和对象(上)
数据结构·c++·算法·类和对象·struct·实例化
样例过了就是过了15 小时前
LeetCode热题100 最长公共子序列
c++·算法·leetcode·动态规划
谭欣辰15 小时前
C++ 排列组合完整指南
开发语言·c++·算法
love530love15 小时前
精简版|Claude-HUD 插件介绍 + 一键安装教程
人工智能·windows·笔记
橙子也要努力变强16 小时前
信号捕捉底层机制-机理篇2
linux·服务器·c++
盐焗鹌鹑蛋16 小时前
【C++】stack和queue类
c++
秋916 小时前
MySQL 8.0.46 全平台安装与配置详解(Windows/Linux/macOS)
linux·windows·mysql
善恶怪客17 小时前
LocalSend基本使用
windows
郝学胜-神的一滴17 小时前
罗德里格斯旋转公式(Rodrigues‘ Rotation Formula)完整推导
c++·unity·godot·图形渲染·three.js·unreal