MFC中给树形目录控件的节点添加图标

步骤如下:

  • 1、创建一个图像列表:
CImageList  m_ImageList;//定义图像列表
m_ImageList.Create(16,16,ILC_COLOR24|ILC_MASK,0,1);//建立图像列表,初始有0个图像
  • 2、向图像列表中加入图标(以下各图标文件都已导入成为工程的资源文件):
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON8));//向图像列表添加图标IDI_ICON8,作为0号图像
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON9));//向图像列表添加图标IDI_ICON9,作为1号图像
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON10));//向图像列表添加图标IDI_ICON10,作为2号图像
  • 3、将树形目录和图像列表关联:
m_VideoTree.SetImageList(&m_ImageList,TVSIL_NORMAL);//将树形目录和图像列表关联
  • 4、在插入树形目录的节点时指定使用图像列表中的哪个图像。
HTREEITEM root = m_VideoTree.InsertItem("树根",0,0,TVI_ROOT,TVI_LAST);//建立树根,初始和选中时都是0号图标
HTREEITEM level1 = m_VideoTree.InsertItem("一级节点",1,1,root,TVI_LAST);//第一个一级节点,父节点是root,初始和选中时都是1号图标

效果如图: