MFC里面的CTreeCtrl的使用问题

对话框中有一个CTreeCtrlm_TreeCtrlm_TreeCtrl根据监控所得的数据进行创建根节点主程序节点子程序节点4.主程序节点下面对应的是主程序的名字,这些子... 对话框中有一个CTreeCtrl m_TreeCtrl
m_TreeCtrl根据监控所得的数据进行创建
根节点
主程序节点
子程序节点
4. 主程序节点下面对应的是主程序的名字,这些子项前面需要checkBox
5. 子程序节点下面对应子程序的名字,前面无需checkBox
6. 每次点击checkBox的位置,逻辑上对应选中了要执行的主程序,操作上DeleteAllTreeItem然后重新获得程序结构数据,然后创建树,创建的过程中,如果主程序为选中的主程序,则勾选上前面的checkBox。
7. 现测试发现,在响应了NM_CLICK以后,重新构建的树有时不正常,例如上面3中的这些节点前面也莫名其妙的出现了checkBox.
8.重建树是以函数形式,在NM_CLICK的响应函数里面调用,跟踪了如果用一个变量保存当前点击的checkBox的时候,记录了对应项的HTREEITEM,而在DeleteAllItem,根据新数据重建完树以后,新构建的树中有的项有概率和记录的这个HTREEITEM一致,但不一定就是原来的那一项了,例如可能就是根节点,然后根节点前面就出现了CheckBox框。也就是异常行为。
9.初步判断CTreeCtrl中如果点击CheckBox的话,在NM_CLICK的时候可能会有默认的操作,而这个操作是基于我点击时候的HTREEITEM来的,因为重新构建树了所以导致了HTREEITEM对应的项改变,出现结构混乱,该如何调整
展开
 我来答
OldGlory
2015-02-26 · TA获得超过224个赞
知道答主
回答量:106
采纳率:0%
帮助的人:58.6万
展开全部
说的不怎么清楚,私信联系
追问

已经用设置图标的方式暂时解决了

至于原来的问题可以简述为

  1. 我要创建一个带checkbox的树,如图在第三级菜单才需要checkbox那个选择框

  2. 构建树的时候每次删除原来的树,然后根据新的数据来构建这颗树,数据中标识了哪个选项需要打勾

这还要看不懂那只能呵呵了

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式