方法很多,常用到的有这两个:截图:
方法一:(加 ico图标,一个一个的加,4*16*16)
准备4张16*16的ico图片
(在树已经可以正常显示的情况下)
在 Dlg.h中声明:CImageList imagelist;
在Dlg.cpp中:
Dlg::BuildTree() 下:
建立 imagelist :
imagelist.Create(16, 16, ILC_COLOR8|ILC_MASK, 0, 4);
imagelist.Add(AfxGetApp()->LoadIcon(IDI_TREEBOOT)); // ico图标
imagelist.Add(AfxGetApp()->LoadIcon(IDI_TREEFATHER));
imagelist.Add(AfxGetApp()->LoadIcon(IDI_TREECHILD)); //图标个数随意加,多加几个也行
m_deviceTree.SetImageList(&imagelist, TVSIL_NORMAL); // 建立 imagelist 与 tree的映射关系
----------------------------------------------------------------------------------------------------------------------------------------------------------------
第三个参数:确定创建的图象列表类型。
ILC_COLORDDB 使用设备独立位图
ILC_MASK 使用掩码。图象列表包含两个位图,其中一个是用做掩码的位图。如果不包括此值,图象列表只包含一个位图
第四个参数:图象列表最初包含的图象数。
第五个参数:当系统需要改变列表为新图象准备空间时,图象列表可生成的图象数。此参数替代改变的图象列表所能包含的新图象数。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
然后往根节点插图:m_hItemroot = m_deviceTree.InsertItem(_T("根节点"), 0, 1, TVI_ROOT);//0 表示不选时是第一张图,1表示选择时是第二张图。
往父节点(根节点的儿子):
HTREEITEM hItemGroup = m_deviceTree.InsertItem(A2T(pGroupInfo->m_groupBaseInfo.m_szName), 1, 1, m_hItemroot); //跟上面的一样 ,最后一个参数表示此节点是根节点的儿子节点。
往叶子节点(父节点的儿子):
HTREEITEM hItemDevice = m_deviceTree.InsertItem(A2T(devInfo.m_baseInfo.m_szName), 2, 2, hItemGroup);//跟上面一样
展开树:
m_deviceTree.Expand(hItemGroup, TVE_EXPAND);
m_deviceTree.Expand(m_hItemroot, TVE_EXPAND);
方法二:(加 bmp图片,64*16,一张图片上有4张16*16的小图)方法跟第一个差不多 ,
在 Dlg.h中声明:CImageList imagelist;
在Dlg.cpp中:
Dlg::BuildTree() 下:
建立 imagelist :
imagelist.Create(IDB_BITMAP_STUDENT, 16, 0, RGB(0, 255, 0)); // 64*16的bmp图片,16表示一张图显示的宽度
m_deviceTree.SetImageList(&imagelist, TVSIL_NORMAL); //跟tree建立映射关系
...
m_deviceTree.SetItemImage(m_hItemroot, 0, 1); //根节点 插图 0,1 表示:0 表示不选时是第一张图,1表示选择时是第二张图。
... m_deviceTree.SetItemImage(hItemGroup, 0, 1); //父节点插图
...m_deviceTree.SetItemImage(hItemDevice, 3, 3); //叶子节点
树背景颜色及文字颜色设置:
m_deviceTree.SetTextColor(RGB(0, 0, 0)); //文本
m_deviceTree.SetBkColor(RGB(240, 240, 240)); //背景
树的遍历:
void CDeviceTreeDlg::ChangeDeviceImage()
{
HTREEITEM m_hItemRoot = m_devGroupTree.GetRootItem();
if (NULL == m_hItemRoot)
{
return;
}
HTREEITEM m_hItemGroup = m_devGroupTree.GetChildItem(m_hItemRoot);
while(NULL != m_hItemGroup)
{
HTREEITEM m_hItemDevice = m_devGroupTree.GetChildItem(m_hItemGroup);
while(NULL != m_hItemDevice)
{
CDevice* pDevi = (CDevice*)m_devGroupTree.GetItemData(m_hItemDevice);
if (pDevi->m_bOnLine)
{
m_devGroupTree.SetItemImage(m_hItemDevice, 3, 3);
}
m_hItemDevice = m_devGroupTree.GetNextSiblingItem(m_hItemDevice);
}
m_hItemGroup = m_devGroupTree.GetNextSiblingItem(m_hItemGroup);
}
}
分享到:
相关推荐
该资源主要是结合http://blog.csdn.net/eastmount/article/details/19120567文章,使用MFC树形控件CTreeCtrl左边显示我的电脑不同盘符下文件夹,双击路径能显示该文件夹下文件图标.是关于树形控件比较好的资源,含注释.
照着网上搬下来的,实现MFC复选框的勾选,父节点选择后下级的子节点也会全部选中,。原博客网址http://blog.csdn.net/plzhou/article/details/44922793
mfc带图标的树状控件(有详细说明),可参考鸡啄米mfc入门教程的三十节
MFC tabctrl控件重载, 实现标签加载BMP图片, 美化标签. 找了N久终于找到了, 不容易啊!
美化VC的界面,在网上搜集了很多图标,都是ICON格式,方便用于工具栏,控件等
mfc LISTCONTROL控件上增加checkbox控 增加显示图标的功能,VC 6.0 MFC
mfc自带的tabsheet控件是横排按钮在上面的,这个自绘控件实现在左侧竖排的Tab选择,并且可以添加图标。
在MFC单文档对话框中添加工具栏,在工具栏中添加了一个LABEL控件和一个EDIT控件,放在对话框的底部,在对话框中添加了两个EDIT控件,在EDIT输入什么内容那么在工具栏的EDIT控件中就显示什么内容。挺好玩的,希望大家...
mfc根据窗口大小自动调整所有控件大小,自己编的,希望对你有用
熟悉在树控件上的相关操作。在用户指定加载某个目录或者磁盘后,可以通过层级结构显示该目录或磁盘下的所有文件,以及文件对应的系统图标,在用户双击摸个文件或者文件夹后可以调用对应的程序打开文件、文件夹;在...
收录了MFC各种控件自定义的自绘,设置背景图标,热点图标,自绘文字包括按钮,列表,静态文本等控件。
MFC实现树控件的增加,删除,修改(包括图标切换)。
MFC的自绘按钮,带图标,不会自绘的可以直接拿到项目中使用,只需改动一点点!我的自己写的测试程序,简单易懂。
能够在按钮上显示图标和文字,用到了CButton中的CButtonST类。在CButtonST类中对DrawItem函数进行重载,实现绘制图标的功能。
该资源主要是讲述使用VS2012 MFC的CListCtrl(列表)控件加载类似于QQ界面的图片与文字数据.主要通过CListCtrl::InsertColumn、InsertItem、SetItemText向列表插入数据,CImageList插入BMP图片或ICON图标.是博客文章...
List 报告向图标拖动 反过来写依然可以模仿 随意写着玩 大家可以看看 互相学习
基于VC中MFC的图表控件,可以实现各种图标显示,大量效果选择,功能强大,界面精美,是表格显示的不二选择。
VC 为combox列表控件添加图标功能,经过本改良后,下拉列表框每个内容项前面都会出现一个小图标,使用combox更专业化、更直观的显示各个内容项,要比纯文字的列表所展现的内容更全面,因为图标你可以根据自己的需要...
代码如下:m_hIcon = AfxGetApp()->LoadIcon(IDI_ICON1); SetIcon(m_hIcon, TRUE);... 您可能感兴趣的文章:MFC中动态创建控件以及事件响应实现方法MFC创建模态对话框和非模态对话框的方法MFC设置对
MFC中TreeCtrl用法示例,采用对话框应用程序编程,MFC下TreeCtrl控件的使用方法,图标添加方法,图标动态改变等