树控件的使用

目录

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);
}
相关推荐
LyaJpunov5 分钟前
C++中move和forword的区别
开发语言·c++
程序猿练习生9 分钟前
C++速通LeetCode中等第9题-合并区间
开发语言·c++·leetcode
z千鑫18 分钟前
【人工智能】如何利用AI轻松将java,c++等代码转换为Python语言?程序员必读
java·c++·人工智能·gpt·agent·ai编程·ai工具
一名路过的小码农19 分钟前
C/C++动态库函数导出 windows
c语言·开发语言·c++
充值内卷37 分钟前
WPF入门教学四 WPF控件概述
windows·ui·wpf
Ddddddd_1581 小时前
C++ | Leetcode C++题解之第416题分割等和子集
c++·leetcode·题解
编程版小新1 小时前
C++初阶:STL详解(四)——vector迭代器失效问题
开发语言·c++·迭代器·vector·迭代器失效
霜晨月c2 小时前
MFC 使用细节
笔记·学习·mfc
AlexMercer10123 小时前
【C++】二、数据类型 (同C)
c语言·开发语言·数据结构·c++·笔记·算法
小灰灰爱代码3 小时前
C++——求3个数中最大的数(分别考虑整数、双精度数、长整数的情况),用函数模板来实现。
开发语言·c++·算法