我希望在树中每个ITEM显示是图片+文字的显示方式,就好像QQ里面的好友一样,左边是图片然后是好友名字。
试了半天都不行,网上找了好多代码都不行。请教各位大虾。
CImageList m_imageList;
//创建CImageList对象
m_imageList.Create(16, 16, ILC_COLOR8, 0, 10);
//加载图标
m_imageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1));
CTreeCtrl *tree = (CTreeCtrl *)GetDlgItem(IDC_TREE1); tree->SetImageList(&m_imageList,TVSIL_NORMAL);
TV_INSERTSTRUCT tvinsert;//声明一个结构体,下面是对他的一系列初始化 tvinsert.hParent = NULL;
tvinsert.hInsertAfter = TVI_LAST;
tvinsert.item.mask = TVIF_IMAGE | TVIF_SELECTEDIMAGE| TVIF_TEXT;
tvinsert.item.hItem = NULL;
tvinsert.item.state = 0;
tvinsert.item.stateMask = 0;
tvinsert.item.cchTextMax = 6;
tvinsert.item.iSelectedImage = 1; tvinsert.item.cChildren = 0;
tvinsert.item.lParam = 0;
tvinsert.item.pszText = "Homer";//设置文本
tvinsert.item.iImage = 2;//设置相关的图像列表中的图像
HTREEITEM hDad = tree ->InsertItem(&tvinsert);//加入到树的节点中
tvinsert.item.pszText = "Marge";
HTREEITEM hMom = tree->InsertItem(&tvinsert); // 第二层的节点--父节点为hDaD
tvinsert.hParent = hDad;//声明其父节点
tvinsert.item.pszText = "Bart";
tvinsert.item.iImage = 3;
tree->InsertItem(&tvinsert);
tvinsert.item.pszText = "Lisa";//只对需要改变的量进行改变就可以
tree->InsertItem(&tvinsert); // 第二层的节点--父节点为hMum
tvinsert.hParent = hMom;
tvinsert.item.pszText = "Bart";
tvinsert.item.iImage = 4;
tree->InsertItem(&tvinsert);
tvinsert.item.pszText = "Lisa";
tree->InsertItem(&tvinsert);
tvinsert.item.pszText = "Dilbert";
HTREEITEM hOther = tree->InsertItem(&tvinsert); // 第三层节点--父节点为hOrher
tvinsert.hParent = hOther;
tvinsert.item.pszText = "Dogbert";
tvinsert.item.iImage = 7;
tree->InsertItem(&tvinsert);
tvinsert.item.pszText = "Ratbert";
tree->InsertItem(&tvinsert);
试了半天都不行,网上找了好多代码都不行。请教各位大虾。
CImageList m_imageList;
//创建CImageList对象
m_imageList.Create(16, 16, ILC_COLOR8, 0, 10);
//加载图标
m_imageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1));
CTreeCtrl *tree = (CTreeCtrl *)GetDlgItem(IDC_TREE1); tree->SetImageList(&m_imageList,TVSIL_NORMAL);
TV_INSERTSTRUCT tvinsert;//声明一个结构体,下面是对他的一系列初始化 tvinsert.hParent = NULL;
tvinsert.hInsertAfter = TVI_LAST;
tvinsert.item.mask = TVIF_IMAGE | TVIF_SELECTEDIMAGE| TVIF_TEXT;
tvinsert.item.hItem = NULL;
tvinsert.item.state = 0;
tvinsert.item.stateMask = 0;
tvinsert.item.cchTextMax = 6;
tvinsert.item.iSelectedImage = 1; tvinsert.item.cChildren = 0;
tvinsert.item.lParam = 0;
tvinsert.item.pszText = "Homer";//设置文本
tvinsert.item.iImage = 2;//设置相关的图像列表中的图像
HTREEITEM hDad = tree ->InsertItem(&tvinsert);//加入到树的节点中
tvinsert.item.pszText = "Marge";
HTREEITEM hMom = tree->InsertItem(&tvinsert); // 第二层的节点--父节点为hDaD
tvinsert.hParent = hDad;//声明其父节点
tvinsert.item.pszText = "Bart";
tvinsert.item.iImage = 3;
tree->InsertItem(&tvinsert);
tvinsert.item.pszText = "Lisa";//只对需要改变的量进行改变就可以
tree->InsertItem(&tvinsert); // 第二层的节点--父节点为hMum
tvinsert.hParent = hMom;
tvinsert.item.pszText = "Bart";
tvinsert.item.iImage = 4;
tree->InsertItem(&tvinsert);
tvinsert.item.pszText = "Lisa";
tree->InsertItem(&tvinsert);
tvinsert.item.pszText = "Dilbert";
HTREEITEM hOther = tree->InsertItem(&tvinsert); // 第三层节点--父节点为hOrher
tvinsert.hParent = hOther;
tvinsert.item.pszText = "Dogbert";
tvinsert.item.iImage = 7;
tree->InsertItem(&tvinsert);
tvinsert.item.pszText = "Ratbert";
tree->InsertItem(&tvinsert);
另外,你的IDI_ICON1存在吗?
是栈变量 被回收了
CImageList *m_imageList;
CImageList *m_imageList;