2 yumin2133 yumin2133 于 2013.06.07 22:41 提问

基于VS2005的VC++程序设计中,如何在为树 的节点添加图标,

最好有详细步骤,就是操作步骤,还有代码,谢谢。。如何为access数据库表添加数据库

2个回答

feelinghappy
feelinghappy   2017.07.30 10:41

CTREECRTL是VC下界面编程中必须掌握的一个基本控件。因此很有必要自己亲手实践一下。
首先声明一个树:
[cpp] view plain copy print?
CTreeCtrl m_tree;

然后定义节点,生成一棵树即可:
[cpp] view plain copy print?
HTREEITEM hParentItem;

m_tree.ModifyStyle(0,TVS_HASBUTTONS | TVS_LINESATROOT | TVS_HASLINES);

hParentItem = m_tree.InsertItem(_T("parent"),11,11,TVI_ROOT);//树根

m_tree.InsertItem(_T("son"),0,0,hParentItem,TVI_LAST);

这样就生成了一棵树了,是不是很简单,呵呵。

=================================传说中的分割线===============================

下面介绍一下树节点前面的图标如何添加。
既然要添加图标,当然需要事先将icon图标添加进资源里面,然后声明一个数组,用来存储这些图标资源,最后把这些资源add进树里面即可。
[cpp] view plain copy print?
HICON icon[12];

icon[0]=AfxGetApp()->LoadIcon(IDI_ICON1);

......

CImageList *m_imagelist = new CImageList;

m_imagelist->Create(16,16,ILC_COLOR32| ILC_MASK,7,7);//16*16的图标

m_imagelist->Add(icon[n]);

注意到,专门又新建了一个CImageList,用来管理这些图标。
之后就可以向树中添加这些图标了,当然一定要选好要添加图标和对应树节点之间的对应关系。
[cpp] view plain copy print?
m_tree.SetImageList(m_imagelist,TVSIL_NORMAL);

这样就生成了一个带图标的树了。

feelinghappy
feelinghappy   2017.07.30 10:43
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
mfc CTreeCtrl 添加节点 和绑定图标
1、添加控件并绑定变量 1、修改属性Line At Root为True Has Bootons改成True 3、初始化函数中如下: TVINSERTSTRUCT tvInsert; tvInsert.hParent = NULL; tvInsert.hInsertAfter = NULL; tvInsert.item.mask = TVIF_TEXT; tvInsert.item.p
给树形目录控件的节点添加图标
①创建一个图像列表:               CImageList  m_ImageList;//定义图像列表               m_ImageList.Create(16,16,ILC_COLOR24|ILC_MASK,0,1);//建立图像列表,初始有0个图像        ②向图像列表中加入图标(以下各图标文件都已导入成为工程的资源文件):
MFC 为树形控件添加图标
添加控件,树形控件,静态文本框和编辑框。树形控件属性Has Buttons,Has Lines, Lines At Root 勾选为True. 并为树形控件添加变量,m_webTree 在初始化函数中添加代码: // TODO: 在此添加额外的初始化代码 // 定义树形控件句柄 HTREEITEM hRoot; HTREEITEM hSon; HTREE
给easyui tree树加图标
在给界面传JSON值多加个图标属性就OK了, 其中IconClass为数据库中存放的图标字段 TreeNode treeNode = new TreeNode { id = this.MenuCode , text = this.MenuName, // state =
为树形控件的每个节点前添加不同的图标
HICON icon[4]; icon[0] = AfxGetApp()->LoadIcon(IDI_ICONA); icon[1] = AfxGetApp()->LoadIcon(IDI_ICONB); icon[2] = AfxGetApp()->LoadIcon(IDI_ICONC); icon[3] = AfxGetApp()->LoadIcon(IDI_ICOND); CI
MFC树控件节点后加图标实现
MFC树控件未提供节点后加图标的方法,需要自己重绘来实现。 主要方法是,响应NM_CUSTOMDRAW消息,在每个节点后添加自己要展示的图标。 关于NM_CUSTOMDRAW消息的说明,见http://msdn.microsoft.com/en-us/library/ms833744.aspx。 显示效果,如下图。 1、实现源码 重绘树控件类CMyTreeCtrl。 M
JTree,将树的每个节点设置成不同的图标
MyDefaultTreeCellRenderer.java  Java代码   import java.awt.Component;      import javax.swing.ImageIcon;   import javax.swing.JTree;   import javax.swing.tree.DefaultMutableTreeNode;  
JTree 方法设置树节点的展开图标
JTree 方法设置树节点的展开图标
java JTree树 叶子节点 不同图标
1.设置树的映射关系 DefaultTreeCellRenderer myCellRenderer = new MyTreeCellRender(); //设置叶子节点的图标 jTree.setCellRenderer(myCellRenderer); 2.调用,具体查看JTreeData结构DefaultMutableTreeNode leafUserNode =
怎样修改JTree中每级节点前面的图标
import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.tree.*; public class TreeDemo4 {     public TreeDemo4()     {         JFrame f = new JFrame("TreeDemo");