
CTreeCtrl
tobealv
这个作者很懒,什么都没留下…
展开
-
CTreeCtrl点击改变Check状态
注意:在click函数中间,调用setcheck是不会产生效果的,因为在click的时候,check框本身会改变状态。原创 2011-08-19 11:42:00 · 1154 阅读 · 0 评论 -
CTreeCtrl的ImageList
CTreeCtrl的ImageList不能是局部变量原创 2011-10-11 16:39:45 · 762 阅读 · 0 评论 -
如何对CTreeCtrl遍历和查找,大家可以学习下 Hard study!
VC编程中,若要展现一个树形结构,我们基本都会继承CTreeCtrl进行扩展。通过InsertItem、SetItemData等操作可以建立起一颗树并展现出来。对树的操作,最常用的就是遍历和查找。如何遍历一个CTreeCtrl呢,以下是采用递归完成的遍历树的函数转载 2010-11-07 16:39:00 · 1360 阅读 · 1 评论 -
CTreeCtrl 树状控件显示展开和折叠的按钮“+/-”
让树状控件显示展开和折叠的按钮其实是很简单的,把 Style 设置成TVS_HASBUTTONS就可以了。不过你可能会发现根节点却没有展开折叠按钮,咋回事呢?折腾半天也没作用,还是看看MSDN的文档吧。TVS_HASBUTTONSDisplays plus (+) and转载 2010-11-07 16:40:00 · 4345 阅读 · 0 评论 -
三态树其原理
背景知识:树节点前面的复选框实质上是不同的几幅位图,所谓选中没选中呈现的只不过是显示了不同的位图而已。但是GetCheck是如何判定是否为选中的呢,经过测试认为,这几幅位图有个先后顺序,第一幅位图表示没选中,第二幅位图表示选中了,而GetCheck实际返回的便是这位图序号的索引,原创 2011-03-29 09:00:00 · 804 阅读 · 0 评论 -
树状控件增加tooltip
有时候存放树控件的框很窄,而节点名很长,显示不开,可以学windows,将鼠标放到节点上后,出一个小黄提示,显示全名。其实这个很简单,只需要把控件的Too tips属性选上就可以了。原创 2011-05-04 15:32:00 · 1484 阅读 · 0 评论 -
在VC++中改变CTreeCtrl子项Item字体和颜色
在VC++中改变CTreeCtrl子项Item字体和颜色2009年02月10日 星期二 14:59在VC++中改变CTreeCtrl子项Item字体和颜色http://lxspine.blog.hexun.com/8664035_d.html转载 2010-11-13 14:38:00 · 1545 阅读 · 0 评论 -
给定两列数据,生成树结构
数据类似于:上级部门 部门 山东 济南湖南 长沙 山东济南 历下原创 2010-12-24 16:16:00 · 804 阅读 · 0 评论 -
树状控件支持鼠标拖动
#if !defined(AFX_DRAGTREECTRL_H__7C20B997_728D_4B6A_AA3C_B2703049185E__INCLUDED_)#define AFX_DRAGTREECTRL_H__7C20B997_728D_4B6A_AA3C_B2703049185E__INCLUDED_#if _MSC_VER > 1000#pragma once#endif原创 2011-06-20 08:39:00 · 1095 阅读 · 0 评论 -
树控件的遍历
/** * 函数功能: 遍历树节点,存储节点信息 * 包括节点名字/节点是部门还是人员/节点深度遍历的编号 * * 说明: item的向下兄弟节点和子节点 */void CTreeCtrlDlg::TraverseTree(CTreeCtrl &rTree, HTREEITEM item, vector &rvecItem){ if (item == NULL) {原创 2011-06-20 10:07:00 · 1029 阅读 · 0 评论 -
树状控件的基本用法
1.加图标 m_listImage.Create(16, 16, ILC_COLOR8|ILC_MASK,2,2); m_listImage.Add(AfxGetApp()->LoadIcon(IDI_ICON_WORKGROUP)); m_list原创 2010-12-28 14:21:00 · 594 阅读 · 0 评论 -
CTreeCtrl取消选中
SelectItem(NULL)原创 2011-03-29 11:54:00 · 1956 阅读 · 1 评论 -
CTreeCtrl手动发送选中消息、选中与取消选中
手动发送选中消息::SendMessage(GetTreeCtrl().m_hwnd, TVM_SELECTITEM,(WPARAM)TVGN_CARET,(LPARAM)hItem); 取消选中任何节点SelectItem(NULL),但是,这个方法使用后,切换一下窗口,再回来,树就会呈灰色。。。 替代的另一个方法是 HTREEITEM原创 2011-06-03 13:42:00 · 4306 阅读 · 0 评论 -
dc重绘树状结构
void CLeftView::OnPaint() { CPaintDC dc(this); // device context for painting // TODO: Add your message handler code here原创 2010-12-01 09:53:00 · 668 阅读 · 0 评论 -
如何取得当前展开节点的HTREEITEM,和如何知道调用时是展开还是折回.
void CMyTreeView::OnItemexpanding(NMHDR* pNMHDR, LRESULT* pResult) { NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR; // TODO: Add your cont转载 2010-11-07 16:44:00 · 1443 阅读 · 0 评论 -
如何获取树节点目前是折叠还是展开状态
UINT nstate = GetTreeCtrl().GetItemState(hParentS, TVIS_EXPANDED);if ((nstate & TVIS_EXPANDED) != 0) //展开的{}原创 2011-01-26 12:00:00 · 2728 阅读 · 1 评论 -
三态树
头文件#if !defined(AFX_MUTITREECTRL_H__1298A0CF_BFBF_414E_A1E1_BA18D9B39FBB__INCLUDED_)#define AFX_MUTITREECTRL_H__1298A0CF_BFBF_414E_A1E1_BA1转载 2011-03-02 08:36:00 · 495 阅读 · 0 评论