关于MFC中Tree Control控件中的OnSelchanged消息是不是有bug?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于MFC中Tree Control控件中的OnSelchanged消息是不是有bug?相关的知识,希望对你有一定的参考价值。
我想实现,只要tree control控件中的checkbox选中状态改变,就遍历出选中的选项
然后我把OnSelchanged和OnSelchanging都测试了一下,结果一样。
测试过程:默认全部选中,然后去掉一个勾,两个消息里都是显示全部被选中
我的理解:OnSelchanged的消息应该是现在完成时,只有完成了选中改变,系统才会发送这个消息
那我去掉tree中的checkbox,应该不是显示全部才对。
测试过程如下图:
默认全选状态
当点击去掉一个选项时,弹出的messagebox显示了全部的选项
这是去掉之后的图
2、需要自定义控件,通过Item的图标来标识是否checkbox,或者你恰好将图标绘制的和复选方框一摸一样。鼠标点击的时候通过切换图片来达到视觉上复选、取消的效果。
3、可以使用BCGP界面库中Tree控件。追问
这个评论是复制?
我的意思是遍历所有选中的选项,而不是有的设置checkbox属性有的不设置。
谢谢
MFC 列表控件List Control
一般用带有表头的报表模式,所以属性:View设为Report
// OnInitDialog()中 CString str[] = {TEXT("姓名"),TEXT("性别"),TEXT("年龄") }; for (int i = 0; i < 3; i++) { //设置表头,索引、内容、左对齐、列宽 m_listControl.InsertColumn(i, str[i], LVCFMT_LEFT,100); } //设置正文 m_listControl.InsertItem(0, TEXT("张三"));//插入,第一条 m_listControl.SetItemText(0, 1, TEXT("男"));//设置条目内容,第一条第2列 m_listControl.SetItemText(0, 2, TEXT("20")); m_listControl.InsertItem(1, TEXT("李四"));//第二条 //设置属性,整行选中,显示网格 m_listControl.SetExtendedStyle(m_listControl.GetExtendedStyle() | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
【参考】https://www.bilibili.com/video/av52921336?p=16
以上是关于关于MFC中Tree Control控件中的OnSelchanged消息是不是有bug?的主要内容,如果未能解决你的问题,请参考以下文章
急急急急!!!关于MFC中List Control 控件的问题
VC6.0中基于对话框的MFC EXE中的Tab Control控件如何使用???
树控件(Tree Control),标签控件(tab control)
VC6.0中的Tree Control控件,如何给有的节点设checkbox,而有的节点不设?具体代码如何实现?