当前位置: 代码迷 >> 综合 >> CTreeCtrl 树控件使用
  详细解决方案

CTreeCtrl 树控件使用

热度:77   发布时间:2024-01-09 08:00:40.0

在这里插入图片描述

设置属性 设置线、按钮

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

设置图片集合

在这里插入图片描述

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);//获取当前选择节点的内容//获取当前选中的行 ItemHTREEITEM item = m_tree.GetSelectedItem();//根据当前选中的行 获取里面的内容CString str = m_tree.GetItemText(item);MessageBox(str);*pResult = 0;
}

在这里插入图片描述

获取当前项  item =  getSelectItem
CString str =  getItemText(item)