给树形控件的节点编号

还是我那个科技创新项目,需要获取树形控件的节点编号,我觉得应该有对应的函数,查看CTreeCtrl的成员函数,发现有一个很像:GetItemData(HTREEITEM hItem),但仅仅是像而已!

TVITEM用来存储树形控件节点的信息,定义如下: typedef struct tagTVITEM {     UINT mask;     HTREEITEM hItem;     UINT state;     UINT stateMask;     LPTSTR pszText;     int cchTextMax;     int iImage;     int iSelectedImage;     int cChildren;     LPARAM lParam; } TVITEM, *LPTVITEM; 原来GetItemData(HTREEITEM hItem)就是用来取出lParam的值的,而SetItemData(HTREEITEM hItem,DWORD_PTR dwData)就是用来设置lParam的值的;因此我们可以在初始化树形控件时SetItemData设置节点编号,在需要节点编号时GetItemData即可!

顺便说明一下几个跟树形控件有关的结构体: TVITEM  //用来存储树形节点的信息

typedef struct tagTVINSERTSTRUCT {
    HTREEITEM hParent;
    HTREEITEM hInsertAfter;
#if (_WIN32_IE >= 0x0400)
    union
    {
        TVITEMEX itemex;
        TVITEM item;
    } DUMMYUNIONNAME;
#else
    TVITEM item;
#endif
} TVINSERTSTRUCT, *LPTVINSERTSTRUCT;
//在初始化树形控件插入节点时用到的结构体
typedef struct _TREEITEM FAR* HTREEITEM;
//MSDN上说它是用来标识树形控件节点的句柄
FAR*即far*,远指针,在9x下开发时,16bit指针最大只能指向64k内存,远指针可以超出此限制,可以在不同

数据段间移动。win32以后就没有了far*,   因为都是32bit。
_TREEITEM是微软内部的数据结构,直接拿来用就是了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值