【Windows程序设计】获取TreeView类根节点(SendMessage)

在MFC中获取Windows标准窗口句柄可以通过Findwindow 函数获取;在程序中可以通过Findwindow系列函数获取到TreeView类窗口的句柄,但TreeView包含的控件想要对其进行操作,就得获取其节点信息那么下面谈谈TreeView类
TreeView类对象就相当于创建一个放置节点的容器

控件的整体叫做TreeView类

mainTree.Nodes则表示一个TreeNodeCollection类,其中mainTree为一个TreeView控件名
mainTree的几个常用方法:
1.添加根节点mainTree.Nodes.Add(nodeName);
//mainTree类型为TreeView,mainTree.Nodes为TreeNodeCollection类型
2.添加子节点mainTree.SelectedNode.Nodes.Add(nodeName);
//mainTree.SelectedNode为TreeNode类型,mainTree.SelectedNode.Nodes为TreeNodeCollection类型
3.mainTree.ExpandAll():展开所有节点
4.mainTree.CollapseAll():关闭所有节点
5.mainTree.Nodes.Clear():清除所有节点
6.mainTree.SelectedNode.Remove():清除所选节点
7.mainTree.Nodes.Count:表示树上的节点数

TreeView中的每个节点成为TreeNode类
TreeNode连起来称为TreeNodeColletion类

那么如何通过TreeView句柄获取类中的节点呢
TVM_GETNEXTITEM:得到项目的句柄(参数:TVGN_ROOT得到根句柄,TVGN_NEXTVISIBLE得到下一个可见项目的句柄);
例如:

HTREEITEM hRootItem = (HTREEITEM)::SendMessage(hwnd,TVM_GETNEXTITEM, TVGN_ROOT, 0);//得到根节点
HTREEITEM hRootItem = (HTREEITEM)::SendMessage(hwnd,TVM_GETNEXTITEM, TVGN_NEXTVISIBLE, 0);//得到下一个节点
::SendMessage(hwnd,TVM_EXPAND,TVE_EXPAND,(long)hRootItem);//展开根节点
//TVM_EXPAND:展开或折叠指定项目(参数:TVE_EXPAND展开指定项目);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值