如何使树中的每一个节点保存一个结构体

xiaoxiaols 2005-10-26 03:47:14
我要使CTreeCtrl中的每一个节点保存的是一个结构体,并不是简单的保存一个CString。每次可以通过GetItemInfo(HTREEITEM hItem)这样的函数得到保存在该节点的信息,即该节点保存的结构体的每个域的值,请各位指点。
...全文
104 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
快乐鹦鹉 2005-10-26
  • 打赏
  • 举报
回复
使CTreeCtrl中的每一个节点保存的是一个结构体
==首先,结构体只能单独记录,不能直接把结构体挂到树上。可以定义一个结构体数组来记录这些结构体。
==然后。可以有几个办法。如果结构体中存在唯一性的整型变量(值不重复),那么可以对每个树节点使用SetItemData的方法绑定这个整型值。需要获取节点对应的结构时,用GetItemData先获取这个唯一值,然后到结构体数组中查找(如果存在唯一值,完全可以用CMap方式来作为结构体数组,这样,只需Lookup就找到结构体了)。如果没有唯一性的值,那么可以考虑记录结构在结构数组中的索引值作为唯一值,用SetItemData与节点绑定,这样,用GetItemData可以先获取索引值,然后用结构体数组的GetAt就可以了(这里用CArray比较合适)。

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧