CTreeCtrl 树控件使用

在这里插入图片描述

设置属性 设置线、按钮

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

设置图片集合

在这里插入图片描述

setImageList(CImageList* list , 正常显示的宏)
list准备  create(30,30, 32位色,4,4)
	add (HICON)
添加节点
	InsertItem( 节点名称,显示图片,选中后显示的图,父节点)

在xxDlg.cpp的OnInitDialog()函数中添加以下代码

/*treeCtrl控件使用*/

// 1 设置资源

//准备HICON
HICON icon[4];
icon[0] = AfxGetApp()->LoadIcon(IDI_ICON1);
icon[1] = AfxGetApp()->LoadIcon(IDI_ICON2);
icon[2] = AfxGetApp()->LoadIcon(IDI_ICON3);
icon[3] = AfxGetApp()->LoadIcon(IDI_ICON4);

CImageList list;
//准备好list图标集合
list.Create(30, 30, ILC_COLOR32, 4, 4);
//加载图片
for (int i = 0; i < 4; i++) {
	list.Add(icon[i]);
}

m_tree.SetImageList(&list, TVSIL_NORMAL);

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

在这里插入图片描述

运行效果:
在这里插入图片描述将 CImageList list;放在xxDlg.h文件中
在这里插入图片描述在这里插入图片描述

设置默认节点
	selectItem
	节点间切换 触发事件OnTvnSelchangedTree1
	m_tree.SelectItem(sub1);

在这里插入图片描述

void CMy198Dlg::OnTvnSelchangedTree1(NMHDR *pNMHDR, LRESULT *pResult)
{
	LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);

	//获取当前选择节点的内容

	//获取当前选中的行 Item
	HTREEITEM item = m_tree.GetSelectedItem();

	//根据当前选中的行 获取里面的内容
	CString str = m_tree.GetItemText(item);
	MessageBox(str);

	*pResult = 0;
}

在这里插入图片描述

获取当前项  item =  getSelectItem
CString str =  getItemText(item)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ctreectrl 控件是一个控件,用于显示和管理形结构的数据。要将数据赋值给 Ctreectrl 控件,可以按照以下步骤进行操作: 1. 创建一个 Ctreectrl 控件对象,可以使用 Create 函数或者在资源编辑器中添加一个静态控件来创建。 2. 创建要显示的节点对象,可以使用 Ctreectrl 控件的 InsertItem 函数或者前缀是 TVI_ROOT 的函数来创建根节点。可以使用其他与节点相关的函数来设置节点的属性,例如设置文字、图标等。 3. 将节点添加到控件中。使用 Ctreectrl 控件的 InsertItem 函数将节点插入到控件中,可以通过设置父节点的句柄将节点作为子节点插入。 4. 重复步骤2和步骤3,创建和添加其他节点,以构建下级节点。 5. 可以使用其他与节点相关的函数来操作控件,例如展开或折叠节点,获取或设置节点的属性等。 示例代码如下: 首先,在头文件中定义 Ctreectrl 控件对象: CTreeCtrl m_TreeCtrl; 然后,在 OnCreate 函数中创建 Ctreectrl 控件对象: m_TreeCtrl.Create(WS_VISIBLE | WS_CHILD | WS_BORDER, CRect(10, 10, 200, 200), this, IDC_TREECTRL); 接下来,使用 InsertItem 函数添加根节点: HTREEITEM hRoot = m_TreeCtrl.InsertItem(_T("根节点"), TVI_ROOT); 然后,使用 InsertItem 函数添加子节点: HTREEITEM hChild1 = m_TreeCtrl.InsertItem(_T("子节点1"), hRoot); HTREEITEM hChild2 = m_TreeCtrl.InsertItem(_T("子节点2"), hRoot); 最后,在消息处理函数中添加其他操作,例如展开节点: m_TreeCtrl.Expand(hRoot, TVE_EXPAND); 这样,就可以将数据赋值给 Ctreectrl 控件并显示在界面上了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值